Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
55eaaf9
New translations subgraph-studio.mdx (Arabic)
benface Feb 27, 2022
29514a1
New translations assemblyscript-api.mdx (Arabic)
benface Feb 27, 2022
6ea83a0
New translations assemblyscript-migration-guide.mdx (Arabic)
benface Feb 27, 2022
0b1266f
New translations create-subgraph-hosted.mdx (Arabic)
benface Feb 27, 2022
94cc924
New translations graphql-api.mdx (Arabic)
benface Feb 27, 2022
35cc9c7
New translations subgraph-debug-forking.mdx (Arabic)
benface Feb 27, 2022
fabd918
New translations near.mdx (Arabic)
benface Feb 27, 2022
0766011
New translations indexing.mdx (Arabic)
benface Feb 27, 2022
0fbc854
New translations graphql-api.mdx (Japanese)
benface Feb 28, 2022
2096b49
New translations subgraph-debug-forking.mdx (Arabic)
benface Feb 28, 2022
1c53272
New translations subgraph-debug-forking.mdx (Japanese)
benface Feb 28, 2022
596b399
New translations migrating-subgraph.mdx (Japanese)
benface Feb 28, 2022
9360811
New translations studio-faq.mdx (Japanese)
benface Feb 28, 2022
2d13cf2
New translations delegating.mdx (Japanese)
benface Feb 28, 2022
0bd16a3
New translations assemblyscript-migration-guide.mdx (Spanish)
benface Feb 28, 2022
8858d71
New translations assemblyscript-migration-guide.mdx (Japanese)
benface Feb 28, 2022
e375a6d
New translations assemblyscript-migration-guide.mdx (Korean)
benface Feb 28, 2022
36b933b
New translations assemblyscript-migration-guide.mdx (Chinese Simplified)
benface Feb 28, 2022
cab766c
New translations assemblyscript-migration-guide.mdx (Vietnamese)
benface Feb 28, 2022
b62d626
New translations subgraph-debug-forking.mdx (Arabic)
benface Feb 28, 2022
8e73dbb
New translations migrating-subgraph.mdx (Arabic)
benface Feb 28, 2022
67054a4
New translations subgraph-studio.mdx (Arabic)
benface Feb 28, 2022
b95f2d5
New translations introduction.mdx (Chinese Simplified)
benface Mar 1, 2022
ab08d96
New translations graphql-api.mdx (Chinese Simplified)
benface Mar 1, 2022
a250f85
New translations subgraph-debug-forking.mdx (Chinese Simplified)
benface Mar 1, 2022
4693b7b
New translations migrating-subgraph.mdx (Chinese Simplified)
benface Mar 1, 2022
17e3dca
New translations what-is-hosted-service.mdx (Chinese Simplified)
benface Mar 1, 2022
dede7b5
New translations billing.mdx (Chinese Simplified)
benface Mar 1, 2022
a73f337
New translations multisig.mdx (Chinese Simplified)
benface Mar 1, 2022
52a95d0
New translations studio-faq.mdx (Chinese Simplified)
benface Mar 1, 2022
053e754
New translations subgraph-studio.mdx (Chinese Simplified)
benface Mar 1, 2022
2a755fb
New translations near.mdx (Chinese Simplified)
benface Mar 1, 2022
107c98f
New translations delegating.mdx (Chinese Simplified)
benface Mar 1, 2022
897b9eb
New translations subgraph-debug-forking.mdx (Spanish)
benface Mar 3, 2022
250b3af
New translations assemblyscript-migration-guide.mdx (Spanish)
benface Mar 3, 2022
90b7135
New translations assemblyscript-migration-guide.mdx (Arabic)
benface Mar 3, 2022
7b721ff
New translations assemblyscript-migration-guide.mdx (Japanese)
benface Mar 3, 2022
ab0b666
New translations assemblyscript-migration-guide.mdx (Korean)
benface Mar 3, 2022
2b7edb4
New translations assemblyscript-migration-guide.mdx (Chinese Simplified)
benface Mar 3, 2022
37e1bc5
New translations assemblyscript-migration-guide.mdx (Vietnamese)
benface Mar 3, 2022
d69ad2f
New translations billing.mdx (Spanish)
benface Mar 3, 2022
63ff3c1
New translations studio-faq.mdx (Spanish)
benface Mar 3, 2022
e2f4bf3
New translations assemblyscript-api.mdx (Spanish)
benface Mar 3, 2022
120146b
New translations assemblyscript-api.mdx (Chinese Simplified)
benface Mar 3, 2022
41732c5
New translations assemblyscript-api.mdx (Korean)
benface Mar 3, 2022
fa4f591
New translations assemblyscript-api.mdx (Japanese)
benface Mar 3, 2022
8a64803
New translations assemblyscript-api.mdx (Vietnamese)
benface Mar 3, 2022
37f88b1
New translations create-subgraph-hosted.mdx (Vietnamese)
benface Mar 3, 2022
f9d5824
New translations create-subgraph-hosted.mdx (Chinese Simplified)
benface Mar 3, 2022
981b82d
New translations create-subgraph-hosted.mdx (Korean)
benface Mar 3, 2022
8c3a18c
New translations create-subgraph-hosted.mdx (Japanese)
benface Mar 3, 2022
903c84b
New translations create-subgraph-hosted.mdx (Spanish)
benface Mar 3, 2022
37d15e7
New translations graphql-api.mdx (Spanish)
benface Mar 3, 2022
1a9d9ce
New translations graphql-api.mdx (Korean)
benface Mar 3, 2022
570d337
New translations graphql-api.mdx (Vietnamese)
benface Mar 3, 2022
a616194
New translations matchstick.mdx (Chinese Simplified)
benface Mar 3, 2022
9f0cff9
New translations subgraph-studio.mdx (Spanish)
benface Mar 3, 2022
28c367d
New translations subgraph-studio.mdx (Japanese)
benface Mar 3, 2022
59ad786
New translations subgraph-studio.mdx (Korean)
benface Mar 3, 2022
35ba607
New translations deploy-subgraph-studio.mdx (Arabic)
benface Mar 3, 2022
b0af990
New translations billing.mdx (Vietnamese)
benface Mar 3, 2022
a49d088
New translations migrating-subgraph.mdx (Spanish)
benface Mar 3, 2022
de7e5eb
New translations migrating-subgraph.mdx (Korean)
benface Mar 3, 2022
6e83553
New translations migrating-subgraph.mdx (Vietnamese)
benface Mar 3, 2022
3a1300c
New translations billing.mdx (Arabic)
benface Mar 3, 2022
eb4751b
New translations billing.mdx (Japanese)
benface Mar 3, 2022
8ea5bfb
New translations billing.mdx (Korean)
benface Mar 3, 2022
a44f8b3
New translations subgraph-studio.mdx (Vietnamese)
benface Mar 3, 2022
223af78
New translations indexing.mdx (Spanish)
benface Mar 3, 2022
3af1f02
New translations indexing.mdx (Japanese)
benface Mar 3, 2022
c78aea4
New translations indexing.mdx (Korean)
benface Mar 3, 2022
9752c45
New translations indexing.mdx (Chinese Simplified)
benface Mar 3, 2022
8177217
New translations indexing.mdx (Vietnamese)
benface Mar 3, 2022
e0332df
New translations explorer.mdx (Chinese Simplified)
benface Mar 3, 2022
b224c0b
New translations explorer.mdx (Vietnamese)
benface Mar 3, 2022
f2f1e9c
New translations explorer.mdx (Korean)
benface Mar 3, 2022
5726a29
New translations curating.mdx (Chinese Simplified)
benface Mar 3, 2022
7dbb0ba
New translations curating.mdx (Spanish)
benface Mar 3, 2022
ffd34ed
New translations curating.mdx (Arabic)
benface Mar 3, 2022
5020e32
New translations curating.mdx (Japanese)
benface Mar 3, 2022
947e77c
New translations curating.mdx (Korean)
benface Mar 3, 2022
0f88f38
New translations curating.mdx (Vietnamese)
benface Mar 3, 2022
5a5c1c9
New translations explorer.mdx (Japanese)
benface Mar 3, 2022
a7c9ec5
New translations delegating.mdx (Spanish)
benface Mar 3, 2022
4f668a1
New translations delegating.mdx (Arabic)
benface Mar 3, 2022
30fab37
New translations delegating.mdx (Korean)
benface Mar 3, 2022
b335dc4
New translations delegating.mdx (Vietnamese)
benface Mar 3, 2022
a7ca03f
New translations explorer.mdx (Spanish)
benface Mar 3, 2022
5072023
New translations explorer.mdx (Arabic)
benface Mar 3, 2022
11db18e
Merge branch 'main' into main-crowdin
benface Mar 3, 2022
9fe9639
Run Prettier + fix build
benface Mar 3, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 6 additions & 3 deletions pages/ar/developer/assemblyscript-migration-guide.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -180,7 +180,8 @@ let c: usize = a + (b as usize)
// upcasting on class inheritance
class Bytes extends Uint8Array {}

let bytes = new Bytes(2) < Uint8Array > bytes // same as: bytes as Uint8Array
let bytes = new Bytes(2)
// <Uint8Array>bytes // same as: bytes as Uint8Array
```

هناك سيناريوهين قد ترغب في ال cast ، ولكن استخدام `as`/`<T>var` ** ليس آمنا **:
Expand All @@ -192,15 +193,17 @@ let bytes = new Bytes(2) < Uint8Array > bytes // same as: bytes as Uint8Array
// downcasting on class inheritance
class Bytes extends Uint8Array {}

let uint8Array = new Uint8Array(2) < Bytes > uint8Array // breaks in runtime :(
let uint8Array = new Uint8Array(2)
// <Bytes>uint8Array // breaks in runtime :(
```

```typescript
// between two types that share a superclass
class Bytes extends Uint8Array {}
class ByteArray extends Uint8Array {}

let bytes = new Bytes(2) < ByteArray > bytes // breaks in runtime :(
let bytes = new Bytes(2)
// <ByteArray>bytes // breaks in runtime :(
```

في هذه الحالة يمكنك إستخدام دالة `changetype<T>`:
Expand Down
76 changes: 38 additions & 38 deletions pages/ar/developer/subgraph-debug-forking.mdx
Original file line number Diff line number Diff line change
@@ -1,28 +1,28 @@
---
title: Quick and easy subgraph debugging using forks
title: تصحيح أخطاء الـ subgraph بسرعة وسهولة باستخدام التفرعات (forks)
---

> Note: this is only available from this `graph-node` [commit](https://github.com/graphprotocol/graph-node/commit/f4e6992d7949b18f990045c8babdcd205a060ef6) or this [docker tag](https://hub.docker.com/layers/graphprotocol/graph-node/f4e6992/images/sha256-51ad494a2ecc387bef2359d863b596ad5bd44436808964cf221e60365a7c00c8?context=explore) onwards, it hasn't been yet released in a minor release (eg: 0.26.0)
> ملاحظة: هذا متاح فقط من هذا `graph-node` [commit](https://github.com/graphprotocol/graph-node/commit/f4e6992d7949b18f990045c8babdcd205a060ef6) أو هذا [docker tag](https://hub.docker.com/layers/graphprotocol/graph-node/f4e6992/images/sha256-51ad494a2ecc387bef2359d863b596ad5bd44436808964cf221e60365a7c00c8?context=explore) وصاعدا ولم يتم إصدارها بعد في إصدار ثانوي (على سبيل المثال: 0.26.0)

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!
كما هو الحال مع العديد من الأنظمة التي تعالج كميات كبيرة من البيانات ، قد يستغرق مفهرسو The Graph أو (Graph nodes) بعض الوقت لمزامنة الـ subgraph الخاص بك مع blockchain المستهدف. التناقض بين التغييرات السريعة بغرض تصحيح الأخطاء وأوقات الانتظار الطويلة اللازمة للفهرسة يؤدي إلى نتائج عكسية للغاية ونحن ندرك ذلك جيدًا. ولهذا السبب نقدم **subgraph forking ** ، الذي تم تطويره بواسطة [ LimeChain ](https://limechain.tech/) ، وفي هذه المقالة سنوضح لكم كيف يمكن استخدام هذه الميزة لتسريع تصحيح أخطاء الـ subgraph بشكل كبير!

## Ok, what is it?
## حسنا، ما هو؟

**Subgraph forking** is the process of lazily fetching entities from _another_ subgraph's store (usually a remote one).
**Subgraph forking** هي عملية جلب الكيانات بشكل lazily من مخزن subgraph _آخر_ (عادةً ما يكون بعيدًا).

In the context of debugging, **subgraph forking** allows you to debug your failed subgraph at block _X_ without needing to wait to sync-up to block _X_.
يسمح لك **subgraph forking** بتصحيح أخطاء الـ subgraph الفاشل في الكتلة(block) _ X _ دون الحاجة للانتظار للمزامنة للكتلة _ X _.

## 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_.
عندما تنشر subgraph إلى Graph node بعيدة للقيام بالفهرسة ويفشل عند الكتلة _ X _ ، فإن الخبر الجيد هو أن Graph node ستظل تقدم استعلامات GraphQL باستخدام مخزنها(store)، والذي تمت مزامنته للكتلة(block) _ 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.
باختصار ، سنقوم _ بتفريع (fork) الـ subgraph الفاشل _ من Graph node بعيدة والتي تضمن فهرسة الـ subgraph للكتلة _ X _ وذلك من أجل توفير الـ subgraph المنشور محليًا والذي يتم تصحيحه عندالكتلة*X* مع عرض محدث لحالة الفهرسة.

## Please, show me some code!
## من فضلك ، أرني بعض الأكواد!

To stay focused on subgraph debugging, let's keep things simple and run along with the [example-subgraph](https://github.com/graphprotocol/example-subgraph) indexing the Ethereum Gravity smart contract.
للاستمرار في التركيز على تصحيح أخطاء الـ subgraph ، دعنا نجعل الأمور بسيطة ونعمل مع [example-subgraph](https://github.com/graphprotocol/example-subgraph) الذي يفهرس عقد Ethereum Gravity الذكي.

Here are the handlers defined for indexing `Gravatar`s, with no bugs whatsoever:
فيما يلي المعالجات (handlers) المعرفة لفهرسة `Gravatar` ، بدون أخطاء على الإطلاق:

```tsx
export function handleNewGravatar(event: NewGravatar): void {
Expand All @@ -46,43 +46,43 @@ export function handleUpdatedGravatar(event: UpdatedGravatar): void {
}
```

Oops, how unfortunate, when I deploy my perfect looking subgraph to the [HostedService](https://thegraph.com/hosted-service/) it fails with the _"Gravatar not found!"_ error.
للأسف ، يفشل نشر هذا الـ subgraph ذو المظهر المثالي على [ HostedService ](https://thegraph.com/hosted-service/)مع ظهور الخطأ _"Gravatar not found!"_.

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 [HostedService](https://thegraph.com/hosted-service/) (or another remote Graph node).
3. Wait for it to sync-up.
4. If it breaks again go back to 1, otherwise: Hooray!
1. إجراء تغيير في مصدر الـ mappings ، والذي تعتقد أنه سيحل المشكلة (وأنا أعلم أنه لن يحلها).
2. إعادة نشر الـ subgraph على [ HostedService ](https://thegraph.com/hosted-service/) (أو Graph node أخرى بعيدة).
3. الانتظار حتى تتم المزامنة.
4. إذا حدثت المشكلة مرة أخرى ، فارجع إلى 1!

It is indeed pretty familiar to an ordinary debug process, but there is one step that horribly slows down the process: _3. Wait for it to sync-up._
كما ترى ، فهده الطريقة تشبه عملية تصحيح الأخطاء العادية ، ولكن هناك خطوة واحدة تؤدي إلى إبطاء العملية بشكل رهيب: _ 3. الانتظار حتى تتم المزامنة. _

Using **subgraph forking** we can essentially eliminate this step. Here is how it looks:
باستخدام **subgraph forking** يمكننا التخلص من تلك الخطوة. إليك كيف يبدو:

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_**.
3. If it breaks again, go back to 1, otherwise: Hooray!
0. قم بتجهيز Graph node محلية بمجموعة **_fork-base_** مناسبة.
1. قم بإجراء تغيير في مصدر الـ mappings ، والذي تعتقد أنه سيحل المشكلة.
2. قم بالنشر إلى Graph node محلية ، **_وقم بتفريع الـ subgraph الفاشل_**و**_ البدء من الكتلة التي بها المشكلة_**.
3. إذا حدثت المشكلة مرة أخرى ، فارجع إلى 1!

Now, you may have 2 questions:
الآن ، قد يكون لديك سؤالان:

1. fork-base what??? 2) Forking who?!
2. Forking who?!
1. ماهو fork-base؟؟؟
2. ما الذي نقوم بتفريعه (Forking)؟!

And I answer:
وأنا أجيب:

1. `fork-base` is the "base" URL, such that when the _subgraph id_ is appended the resulting URL (`<fork-base>/<subgraph-id>`) is a valid GraphQL endpoint for the subgraph's store. 2) Forking is easy, no need to sweat:
2. Forking is easy, no need to sweat:
1. `fork-base` هو عنوان URL "الأساسي" ،فمثلا عند إلحاق _subgraph id_ ، يكون عنوان URL الناتج (`<fork-base>/<subgraph-id>`) هو GraphQL endpoint صالح لمخزن الـ subgraph.
2. الـتفريع سهل ، فلا داعي للقلق:

```bash
$ graph deploy <subgraph-name> --debug-fork <subgraph-id> --ipfs http://localhost:5001 --node http://localhost:8020
```

Also, don't forget to set the `dataSources.source.startBlock` field in the subgraph manifest to the number of the problematic block, so you can skip indexing unnecessary blocks and take advantage of the fork!
أيضًا ، لا تنس تعيين حقل `dataSources.source.startBlock` في subgraph manifest لرقم الكتلة(block) التي بها المشكلة، حتى تتمكن من تخطي فهرسة الكتل الغير ضرورية والاستفادة من التفريع!

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/).
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/).

```
$ cargo run -p graph-node --release -- \
Expand All @@ -92,13 +92,13 @@ $ 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`:
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`:

```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...
3. لقد قمت بفحص السجلات التي تنتجها Graph node المحلية ، ويبدو أن كل شيء يعمل بشكل جيد.
4. أقوم بنشر الـ subgraph الخاص بي الخالي من الأخطاء لـ Graph node بعيدة وأعيش في سعادة دائمة
5. النهاية...
2 changes: 1 addition & 1 deletion pages/ar/hosted-service/migrating-subgraph.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@ _بينما تتم هذه الآلية حاليا على الشبكة ، ينا

على الرغم من أن هذه ليست ميزة موجودة في واجهة مستخدم المنتج ، إلا أنه يمكنك تعيين الحد الأقصى لميزانيتك لكل استعلام وذلك عن طريق أخذ المبلغ الذي ترغب في دفعه شهريًا وتقسيمه على حجم الاستعلام المتوقع.

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.
أثناء اتخاذ قرار بشأن ميزانية الاستعلام الخاصة بك ، ليس هناك ما يضمن أن المفهرس سيكون على استعداد لتقديم الاستعلامات بهذا السعر. إذا تمكن الـ Gateway من مطابقتك مع مفهرس يرغب في تقديم استعلام بالسعر الذي ترغب في دفعه أو أقل ، فستدفع الفرق بين ميزانيتك **و** سعرهم. ونتيجة لذلك ، فإن سعر الاستعلام المنخفض يقلل من عدد المفهرسين المتاحين لك ، مما قد يؤثر على جودة الخدمة التي تتلقاها. من المفيد أن يكون لديك رسوم استعلام مرتفع ، لأن ذلك قد يجذب التنسيق وأسماء كبيرة من المفهرسين إلى الـ subgraph الخاص بك.

تذكر أنه سوق ديناميكي ومتنامي ، ولكن كيفية تفاعلك معه هو تحت سيطرتك. لا يوجد حد أقصى أو أدنى للسعر في البروتوكول أو البوابات(Gateways). على سبيل المثال ، يمكنك إلقاء نظرة أدناه على السعر الذي دفعه عدد قليل من الـ dapps على الشبكة (على أساس أسبوعي). انظر للعمود الأخير ، والذي يعرض رسوم الاستعلام كـ GRT. على سبيل المثال ، [Pickle Finance](https://www.pickle.finance/) لديه 8 طلبات في الثانية ودفع 2.4 GRT لأسبوع واحد.

Expand Down
Loading