Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Crowdin updates #641

Closed
wants to merge 2,202 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
2202 commits
Select commit Hold shift + click to select a range
65917c2
New translations creating-a-subgraph.mdx (Turkish)
benface May 20, 2024
1afc69f
New translations creating-a-subgraph.mdx (Ukrainian)
benface May 20, 2024
7c73675
New translations creating-a-subgraph.mdx (Chinese Simplified)
benface May 20, 2024
6c03925
New translations creating-a-subgraph.mdx (Urdu (Pakistan))
benface May 20, 2024
8ba6337
New translations creating-a-subgraph.mdx (Vietnamese)
benface May 20, 2024
56bb16b
New translations creating-a-subgraph.mdx (Marathi)
benface May 20, 2024
a0799d8
New translations creating-a-subgraph.mdx (Hindi)
benface May 20, 2024
7b90a56
New translations creating-a-subgraph.mdx (Yoruba)
benface May 20, 2024
996e0fc
New translations creating-a-subgraph.mdx (Romanian)
benface May 21, 2024
c7bdbd2
New translations creating-a-subgraph.mdx (French)
benface May 21, 2024
d49648c
New translations creating-a-subgraph.mdx (Spanish)
benface May 21, 2024
a10fc0e
New translations creating-a-subgraph.mdx (Arabic)
benface May 21, 2024
14e31a2
New translations creating-a-subgraph.mdx (Czech)
benface May 21, 2024
a0f267b
New translations creating-a-subgraph.mdx (German)
benface May 21, 2024
fd145a6
New translations creating-a-subgraph.mdx (Italian)
benface May 21, 2024
c57d304
New translations creating-a-subgraph.mdx (Japanese)
benface May 21, 2024
b7ae698
New translations creating-a-subgraph.mdx (Korean)
benface May 21, 2024
eebe593
New translations creating-a-subgraph.mdx (Dutch)
benface May 21, 2024
64a2437
New translations creating-a-subgraph.mdx (Polish)
benface May 21, 2024
08d6729
New translations creating-a-subgraph.mdx (Portuguese)
benface May 21, 2024
90a04d1
New translations creating-a-subgraph.mdx (Russian)
benface May 21, 2024
795182f
New translations creating-a-subgraph.mdx (Swedish)
benface May 21, 2024
de3a1b9
New translations creating-a-subgraph.mdx (Turkish)
benface May 21, 2024
c298f05
New translations creating-a-subgraph.mdx (Ukrainian)
benface May 21, 2024
7ea69db
New translations creating-a-subgraph.mdx (Chinese Simplified)
benface May 21, 2024
59fff8d
New translations creating-a-subgraph.mdx (Urdu (Pakistan))
benface May 21, 2024
650bfc3
New translations creating-a-subgraph.mdx (Vietnamese)
benface May 21, 2024
8a700e5
New translations creating-a-subgraph.mdx (Marathi)
benface May 21, 2024
11ae257
New translations creating-a-subgraph.mdx (Hindi)
benface May 21, 2024
29b1083
New translations creating-a-subgraph.mdx (Yoruba)
benface May 21, 2024
8f046c6
New translations curating.mdx (Romanian)
benface May 21, 2024
950f26b
New translations curating.mdx (French)
benface May 21, 2024
3f9efdd
New translations curating.mdx (Spanish)
benface May 21, 2024
b582241
New translations curating.mdx (Arabic)
benface May 21, 2024
7b8a6d9
New translations curating.mdx (Czech)
benface May 21, 2024
4b1e05a
New translations curating.mdx (German)
benface May 21, 2024
7203638
New translations curating.mdx (Italian)
benface May 21, 2024
aff2987
New translations curating.mdx (Japanese)
benface May 21, 2024
f20858d
New translations curating.mdx (Korean)
benface May 21, 2024
c2b6cc2
New translations curating.mdx (Dutch)
benface May 21, 2024
eee2276
New translations curating.mdx (Polish)
benface May 21, 2024
8d6fa49
New translations curating.mdx (Portuguese)
benface May 21, 2024
241bb29
New translations curating.mdx (Russian)
benface May 21, 2024
2558f0a
New translations curating.mdx (Swedish)
benface May 21, 2024
e8a8182
New translations curating.mdx (Turkish)
benface May 21, 2024
c6bc48c
New translations curating.mdx (Ukrainian)
benface May 21, 2024
c2297dd
New translations curating.mdx (Chinese Simplified)
benface May 21, 2024
7c69695
New translations curating.mdx (Urdu (Pakistan))
benface May 21, 2024
690dc2d
New translations curating.mdx (Vietnamese)
benface May 21, 2024
3f0a77c
New translations curating.mdx (Marathi)
benface May 21, 2024
25541b4
New translations curating.mdx (Hindi)
benface May 21, 2024
ee24866
New translations curating.mdx (Yoruba)
benface May 21, 2024
f7fccb6
New translations sunrise.mdx (Arabic)
benface May 21, 2024
7061fb3
New translations sunrise.mdx (Czech)
benface May 21, 2024
6008fab
New translations sunrise.mdx (Russian)
benface May 21, 2024
cac7a14
New translations sunrise.mdx (Marathi)
benface May 21, 2024
af6f7fd
New translations sunrise.mdx (Hindi)
benface May 21, 2024
b75d760
New translations sunrise.mdx (Romanian)
benface May 21, 2024
3732b23
New translations sunrise.mdx (French)
benface May 21, 2024
b451cd5
New translations sunrise.mdx (Spanish)
benface May 21, 2024
322c293
New translations sunrise.mdx (German)
benface May 21, 2024
c9a7d5c
New translations sunrise.mdx (Italian)
benface May 21, 2024
892af66
New translations sunrise.mdx (Japanese)
benface May 21, 2024
90ddfc4
New translations sunrise.mdx (Korean)
benface May 21, 2024
319babc
New translations sunrise.mdx (Dutch)
benface May 21, 2024
f85f49e
New translations sunrise.mdx (Polish)
benface May 21, 2024
c9eec20
New translations sunrise.mdx (Portuguese)
benface May 21, 2024
70166bc
New translations sunrise.mdx (Swedish)
benface May 21, 2024
e289957
New translations sunrise.mdx (Turkish)
benface May 21, 2024
d4a9c28
New translations sunrise.mdx (Ukrainian)
benface May 21, 2024
bd4fae1
New translations sunrise.mdx (Chinese Simplified)
benface May 21, 2024
acef5f4
New translations sunrise.mdx (Urdu (Pakistan))
benface May 21, 2024
8aa5440
New translations sunrise.mdx (Vietnamese)
benface May 21, 2024
0d822df
New translations sunrise.mdx (Yoruba)
benface May 21, 2024
ed6b6f0
New translations about.mdx (Czech)
benface May 22, 2024
9856cdc
New translations overview.mdx (Marathi)
benface May 22, 2024
14caa66
New translations overview.mdx (Hindi)
benface May 22, 2024
7f58854
New translations overview.mdx (Romanian)
benface May 22, 2024
a363670
New translations overview.mdx (French)
benface May 22, 2024
b05d1c2
New translations overview.mdx (Spanish)
benface May 22, 2024
a9e6e32
New translations overview.mdx (Arabic)
benface May 22, 2024
a046810
New translations overview.mdx (Czech)
benface May 22, 2024
66f2de6
New translations overview.mdx (German)
benface May 22, 2024
9b5d859
New translations overview.mdx (Italian)
benface May 22, 2024
a65f2c2
New translations overview.mdx (Japanese)
benface May 22, 2024
9c78efc
New translations overview.mdx (Korean)
benface May 22, 2024
a56afb5
New translations overview.mdx (Dutch)
benface May 22, 2024
6887f33
New translations overview.mdx (Polish)
benface May 22, 2024
747911e
New translations overview.mdx (Portuguese)
benface May 22, 2024
b7cc155
New translations overview.mdx (Russian)
benface May 22, 2024
60facf7
New translations overview.mdx (Swedish)
benface May 22, 2024
8693b9f
New translations overview.mdx (Turkish)
benface May 22, 2024
ee6aad4
New translations overview.mdx (Ukrainian)
benface May 22, 2024
64b2d1e
New translations overview.mdx (Chinese Simplified)
benface May 22, 2024
6bbfe7c
New translations overview.mdx (Urdu (Pakistan))
benface May 22, 2024
4e21796
New translations overview.mdx (Vietnamese)
benface May 22, 2024
66abfea
New translations overview.mdx (Yoruba)
benface May 22, 2024
8ead78d
New translations about.mdx (Romanian)
benface May 22, 2024
285ddd4
New translations about.mdx (French)
benface May 22, 2024
c5239d9
New translations about.mdx (Spanish)
benface May 22, 2024
158f675
New translations about.mdx (Arabic)
benface May 22, 2024
0ea315a
New translations about.mdx (German)
benface May 22, 2024
2e98806
New translations about.mdx (Italian)
benface May 22, 2024
c511eba
New translations about.mdx (Japanese)
benface May 22, 2024
0d952cd
New translations about.mdx (Korean)
benface May 22, 2024
c6da08f
New translations about.mdx (Dutch)
benface May 22, 2024
cded528
New translations about.mdx (Polish)
benface May 22, 2024
018a162
New translations about.mdx (Portuguese)
benface May 22, 2024
d587020
New translations about.mdx (Russian)
benface May 22, 2024
6622cda
New translations about.mdx (Swedish)
benface May 22, 2024
bba3760
New translations about.mdx (Turkish)
benface May 22, 2024
5b6d175
New translations about.mdx (Ukrainian)
benface May 22, 2024
6a7372f
New translations about.mdx (Chinese Simplified)
benface May 22, 2024
7edd053
New translations about.mdx (Urdu (Pakistan))
benface May 22, 2024
4cae138
New translations about.mdx (Vietnamese)
benface May 22, 2024
ef4f995
New translations about.mdx (Marathi)
benface May 22, 2024
d804c6b
New translations about.mdx (Hindi)
benface May 22, 2024
7aa319f
New translations about.mdx (Yoruba)
benface May 22, 2024
fa919c0
New translations deploying-a-subgraph-to-hosted.mdx (Czech)
benface May 25, 2024
3fa5b10
New translations deploying-a-subgraph-to-hosted.mdx (Hindi)
benface May 25, 2024
23ce186
New translations hosted-service.mdx (Czech)
benface May 25, 2024
96ec5f4
New translations hosted-service.mdx (Hindi)
benface May 25, 2024
abb2e09
New translations deploying-a-subgraph-to-hosted.mdx (Romanian)
benface May 25, 2024
e9ed256
New translations hosted-service.mdx (Romanian)
benface May 25, 2024
dbed5be
New translations avoid-eth-calls.mdx (Romanian)
benface May 25, 2024
35b73ee
New translations derivedfrom.mdx (Romanian)
benface May 25, 2024
f95da6d
New translations immutable-entities-bytes-as-ids.mdx (Romanian)
benface May 25, 2024
31b33d1
New translations pruning.mdx (Romanian)
benface May 25, 2024
6e71166
New translations deploying-a-subgraph-to-hosted.mdx (French)
benface May 25, 2024
f66d487
New translations hosted-service.mdx (French)
benface May 25, 2024
4824e7b
New translations avoid-eth-calls.mdx (French)
benface May 25, 2024
3a83312
New translations derivedfrom.mdx (French)
benface May 25, 2024
a4dd46e
New translations immutable-entities-bytes-as-ids.mdx (French)
benface May 25, 2024
6c0ccbe
New translations pruning.mdx (French)
benface May 25, 2024
d147e0b
New translations deploying-a-subgraph-to-hosted.mdx (Spanish)
benface May 25, 2024
49b8613
New translations hosted-service.mdx (Spanish)
benface May 25, 2024
57b100f
New translations avoid-eth-calls.mdx (Spanish)
benface May 25, 2024
0c301f5
New translations derivedfrom.mdx (Spanish)
benface May 25, 2024
ff416ed
New translations immutable-entities-bytes-as-ids.mdx (Spanish)
benface May 25, 2024
0e5d930
New translations pruning.mdx (Spanish)
benface May 25, 2024
cc95565
New translations deploying-a-subgraph-to-hosted.mdx (Arabic)
benface May 25, 2024
8948170
New translations hosted-service.mdx (Arabic)
benface May 25, 2024
da76925
New translations avoid-eth-calls.mdx (Arabic)
benface May 25, 2024
0f8139b
New translations derivedfrom.mdx (Arabic)
benface May 25, 2024
e0be1dc
New translations immutable-entities-bytes-as-ids.mdx (Arabic)
benface May 25, 2024
d35d6a8
New translations pruning.mdx (Arabic)
benface May 25, 2024
053ec27
New translations avoid-eth-calls.mdx (Czech)
benface May 25, 2024
c61761e
New translations derivedfrom.mdx (Czech)
benface May 25, 2024
78db8b5
New translations immutable-entities-bytes-as-ids.mdx (Czech)
benface May 25, 2024
9781ef9
New translations pruning.mdx (Czech)
benface May 25, 2024
ee0adf3
New translations deploying-a-subgraph-to-hosted.mdx (German)
benface May 25, 2024
946d5ba
New translations hosted-service.mdx (German)
benface May 25, 2024
949a6d8
New translations avoid-eth-calls.mdx (German)
benface May 25, 2024
b96fe87
New translations derivedfrom.mdx (German)
benface May 25, 2024
08b2e8e
New translations immutable-entities-bytes-as-ids.mdx (German)
benface May 25, 2024
86d04dc
New translations pruning.mdx (German)
benface May 25, 2024
7086df5
New translations deploying-a-subgraph-to-hosted.mdx (Italian)
benface May 25, 2024
947bcb1
New translations hosted-service.mdx (Italian)
benface May 25, 2024
216f0f5
New translations avoid-eth-calls.mdx (Italian)
benface May 25, 2024
3444e42
New translations derivedfrom.mdx (Italian)
benface May 25, 2024
6f391e8
New translations immutable-entities-bytes-as-ids.mdx (Italian)
benface May 25, 2024
6cb3f09
New translations pruning.mdx (Italian)
benface May 25, 2024
618169c
New translations deploying-a-subgraph-to-hosted.mdx (Japanese)
benface May 25, 2024
43cc99f
New translations hosted-service.mdx (Japanese)
benface May 25, 2024
0dc3bd9
New translations avoid-eth-calls.mdx (Japanese)
benface May 25, 2024
7f014f7
New translations derivedfrom.mdx (Japanese)
benface May 25, 2024
0faf697
New translations immutable-entities-bytes-as-ids.mdx (Japanese)
benface May 25, 2024
9515d23
New translations pruning.mdx (Japanese)
benface May 25, 2024
0ff2e7c
New translations deploying-a-subgraph-to-hosted.mdx (Korean)
benface May 25, 2024
996eea9
New translations hosted-service.mdx (Korean)
benface May 25, 2024
2352fe9
New translations avoid-eth-calls.mdx (Korean)
benface May 25, 2024
cead537
New translations derivedfrom.mdx (Korean)
benface May 25, 2024
ad103a7
New translations immutable-entities-bytes-as-ids.mdx (Korean)
benface May 25, 2024
d25875d
New translations pruning.mdx (Korean)
benface May 25, 2024
ef39771
New translations deploying-a-subgraph-to-hosted.mdx (Dutch)
benface May 25, 2024
c5b75e7
New translations hosted-service.mdx (Dutch)
benface May 25, 2024
ad2248d
New translations avoid-eth-calls.mdx (Dutch)
benface May 25, 2024
26acef6
New translations derivedfrom.mdx (Dutch)
benface May 25, 2024
c151d54
New translations immutable-entities-bytes-as-ids.mdx (Dutch)
benface May 25, 2024
be75703
New translations pruning.mdx (Dutch)
benface May 25, 2024
4391c9b
New translations deploying-a-subgraph-to-hosted.mdx (Polish)
benface May 25, 2024
5b8bcbd
New translations hosted-service.mdx (Polish)
benface May 25, 2024
69db614
New translations avoid-eth-calls.mdx (Polish)
benface May 25, 2024
077b2e8
New translations derivedfrom.mdx (Polish)
benface May 25, 2024
01b5455
New translations immutable-entities-bytes-as-ids.mdx (Polish)
benface May 25, 2024
ad3be38
New translations pruning.mdx (Polish)
benface May 25, 2024
d69f620
New translations deploying-a-subgraph-to-hosted.mdx (Portuguese)
benface May 25, 2024
15cd327
New translations hosted-service.mdx (Portuguese)
benface May 25, 2024
60a7b16
New translations avoid-eth-calls.mdx (Portuguese)
benface May 25, 2024
4694e1b
New translations derivedfrom.mdx (Portuguese)
benface May 25, 2024
983919f
New translations immutable-entities-bytes-as-ids.mdx (Portuguese)
benface May 25, 2024
eab457f
New translations pruning.mdx (Portuguese)
benface May 25, 2024
517aa60
New translations deploying-a-subgraph-to-hosted.mdx (Russian)
benface May 25, 2024
d826b95
New translations hosted-service.mdx (Russian)
benface May 25, 2024
73bb2d5
New translations avoid-eth-calls.mdx (Russian)
benface May 25, 2024
cffec2f
New translations derivedfrom.mdx (Russian)
benface May 25, 2024
8387ab7
New translations immutable-entities-bytes-as-ids.mdx (Russian)
benface May 25, 2024
20ddfc7
New translations pruning.mdx (Russian)
benface May 25, 2024
4a9cf98
New translations deploying-a-subgraph-to-hosted.mdx (Swedish)
benface May 25, 2024
aa8881c
New translations hosted-service.mdx (Swedish)
benface May 25, 2024
ad7ca01
New translations avoid-eth-calls.mdx (Swedish)
benface May 25, 2024
8b9b725
New translations derivedfrom.mdx (Swedish)
benface May 25, 2024
3f1907f
New translations immutable-entities-bytes-as-ids.mdx (Swedish)
benface May 25, 2024
fafb14e
New translations pruning.mdx (Swedish)
benface May 25, 2024
11cc9c0
New translations deploying-a-subgraph-to-hosted.mdx (Turkish)
benface May 25, 2024
0f97bb1
New translations hosted-service.mdx (Turkish)
benface May 25, 2024
eb8d64b
New translations avoid-eth-calls.mdx (Turkish)
benface May 25, 2024
85aaa29
New translations derivedfrom.mdx (Turkish)
benface May 25, 2024
3cc32d0
New translations immutable-entities-bytes-as-ids.mdx (Turkish)
benface May 25, 2024
6db3587
New translations pruning.mdx (Turkish)
benface May 25, 2024
b6efba1
New translations deploying-a-subgraph-to-hosted.mdx (Ukrainian)
benface May 25, 2024
7dba19d
New translations hosted-service.mdx (Ukrainian)
benface May 25, 2024
15df23f
New translations avoid-eth-calls.mdx (Ukrainian)
benface May 25, 2024
387e3bf
New translations derivedfrom.mdx (Ukrainian)
benface May 25, 2024
ecb4553
New translations immutable-entities-bytes-as-ids.mdx (Ukrainian)
benface May 25, 2024
ec5425e
New translations pruning.mdx (Ukrainian)
benface May 25, 2024
87acac1
New translations deploying-a-subgraph-to-hosted.mdx (Chinese Simplified)
benface May 25, 2024
2efda70
New translations hosted-service.mdx (Chinese Simplified)
benface May 25, 2024
de1205e
New translations avoid-eth-calls.mdx (Chinese Simplified)
benface May 25, 2024
e3d4d34
New translations derivedfrom.mdx (Chinese Simplified)
benface May 25, 2024
0e94553
New translations immutable-entities-bytes-as-ids.mdx (Chinese Simplif…
benface May 25, 2024
e8cffed
New translations pruning.mdx (Chinese Simplified)
benface May 25, 2024
92f116a
New translations deploying-a-subgraph-to-hosted.mdx (Urdu (Pakistan))
benface May 25, 2024
ff83fd9
New translations hosted-service.mdx (Urdu (Pakistan))
benface May 25, 2024
5a921f1
New translations avoid-eth-calls.mdx (Urdu (Pakistan))
benface May 25, 2024
1b76a23
New translations derivedfrom.mdx (Urdu (Pakistan))
benface May 25, 2024
3658006
New translations immutable-entities-bytes-as-ids.mdx (Urdu (Pakistan))
benface May 25, 2024
03fc778
New translations pruning.mdx (Urdu (Pakistan))
benface May 25, 2024
7937e4d
New translations deploying-a-subgraph-to-hosted.mdx (Vietnamese)
benface May 25, 2024
98d5396
New translations hosted-service.mdx (Vietnamese)
benface May 25, 2024
7154f91
New translations avoid-eth-calls.mdx (Vietnamese)
benface May 25, 2024
525c1b5
New translations derivedfrom.mdx (Vietnamese)
benface May 25, 2024
89b4e14
New translations immutable-entities-bytes-as-ids.mdx (Vietnamese)
benface May 25, 2024
29e122b
New translations pruning.mdx (Vietnamese)
benface May 25, 2024
bc04f72
New translations deploying-a-subgraph-to-hosted.mdx (Marathi)
benface May 25, 2024
c4fb00a
New translations hosted-service.mdx (Marathi)
benface May 25, 2024
62ef37a
New translations avoid-eth-calls.mdx (Marathi)
benface May 25, 2024
38b3ce3
New translations derivedfrom.mdx (Marathi)
benface May 25, 2024
63780de
New translations immutable-entities-bytes-as-ids.mdx (Marathi)
benface May 25, 2024
2c5737a
New translations pruning.mdx (Marathi)
benface May 25, 2024
3e7fef5
New translations avoid-eth-calls.mdx (Hindi)
benface May 25, 2024
76ac38b
New translations derivedfrom.mdx (Hindi)
benface May 25, 2024
031ff16
New translations immutable-entities-bytes-as-ids.mdx (Hindi)
benface May 25, 2024
63685b1
New translations pruning.mdx (Hindi)
benface May 25, 2024
a98c1af
New translations deploying-a-subgraph-to-hosted.mdx (Yoruba)
benface May 25, 2024
4cc5578
New translations hosted-service.mdx (Yoruba)
benface May 25, 2024
ab4b574
New translations avoid-eth-calls.mdx (Yoruba)
benface May 25, 2024
36c2cba
New translations derivedfrom.mdx (Yoruba)
benface May 25, 2024
582ad02
New translations immutable-entities-bytes-as-ids.mdx (Yoruba)
benface May 25, 2024
2759884
New translations pruning.mdx (Yoruba)
benface May 25, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
12 changes: 6 additions & 6 deletions website/pages/ar/about.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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

Expand All @@ -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.
6 changes: 3 additions & 3 deletions website/pages/ar/arbitrum/arbitrum-faq.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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).

Expand Down Expand Up @@ -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.
2 changes: 1 addition & 1 deletion website/pages/ar/billing.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -152,7 +152,7 @@ This is how you can purchase GRT on Uniswap.
1. انتقل إلى [ Uniswap ](https://app.uniswap.org/#/swap) وقم بتوصيل محفظتك.
2. حدد التوكن الذي ترغب في استبداله. حدد ETH.
3. حدد التوكن الذي ترغب في تبديله. حدد GRT.
- تأكد من تبديل التوكن الصحيح. عنوان العقد الذكي GRT هو: `0xc944E90C64B2c07662A292be6244BDf05Cda44a7`
- تأكد من تبديل التوكن الصحيح. عنوان العقد الذكي GRT هو: ` 0xc944E90C64B2c07662A292be6244BDf05Cda44a7 `
4. الرجاء إدخال كمية ETH التي ترغب في تحويلها.
5. انقر على زر "مبادلة".
6. قم بتأكيد المعاملة في محفظتك وانتظر حتى تتم المعالجة.
Expand Down
12 changes: 6 additions & 6 deletions website/pages/ar/cookbook/arweave.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -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.

Expand Down Expand Up @@ -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:
Expand All @@ -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.

## تعريف المخطط

Expand Down Expand Up @@ -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 <your-access-token>
graph deploy --studio --access-token <your-access-token>
```

## Querying an Arweave Subgraph
Expand Down
102 changes: 102 additions & 0 deletions website/pages/ar/cookbook/avoid-eth-calls.mdx
Original file line number Diff line number Diff line change
@@ -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.<name>`.

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.
Loading
Loading