Skip to content

Commit

Permalink
New translations developer-faq.mdx (Arabic)
Browse files Browse the repository at this point in the history
  • Loading branch information
benface committed Jan 28, 2022
1 parent e38f841 commit 911af3c
Showing 1 changed file with 45 additions and 45 deletions.
90 changes: 45 additions & 45 deletions pages/ar/developer/developer-faq.mdx
Original file line number Diff line number Diff line change
@@ -1,70 +1,70 @@
---
title: Developer FAQs
title: الأسئلة الشائعة للمطورين
---

### 1. Can I delete my subgraph?
### 1. هل يمكنني حذف ال Subgraph الخاص بي؟

It is not possible to delete subgraphs once they are created.
لا يمكن حذف ال Subgraph بمجرد إنشائها.

### 2. Can I change my subgraph name?
### 2. هل يمكنني تغيير اسم ال Subgraph الخاص بي؟

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.
لا. بمجرد إنشاء ال Subgraph ، لا يمكن تغيير الاسم. تأكد من التفكير بعناية قبل إنشاء ال Subgraph الخاص بك حتى يسهل البحث عنه والتعرف عليه من خلال ال Dapps الأخرى.

### 3. Can I change the GitHub account associated with my subgraph?
### 3. هل يمكنني تغيير حساب GitHub المرتبط ب Subgraph الخاص بي؟

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.
لا. بمجرد إنشاء ال Subgraph ، لا يمكن تغيير حساب GitHub المرتبط. تأكد من التفكير بعناية قبل إنشاء ال Subgraph الخاص بك.

### 4. Am I still able to create a subgraph if my smart contracts don't have events?
### 4. هل يمكنني إنشاء Subgraph إذا لم تكن العقود الذكية الخاصة بي تحتوي على أحداث؟

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

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

### 5. Is it possible to deploy one subgraph with the same name for multiple networks?
### 5. هل من الممكن نشر 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](/hosted-service/deploy-subgraph-hosted#redeploying-a-subgraph)
ستحتاج إلى أسماء مختلفه لشبكات متعددة. ولا يمكن أن يكون لديك Subgraph مختلف تحت نفس الاسم ، إلا أن هناك طرقًا ملائمة لأمتلاك قاعدة بيانات واحدة لشبكات متعددة. اكتشف المزيد حول هذا الأمر في وثائقنا: [ إعادة نشر ال Subgraph ](/hosted-service/deploy-subgraph-hosted#redeploying-a-subgraph)

### 6. How are templates different from data sources?
### 6. كيف تختلف النماذج عن مصادر البيانات؟

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) up front 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.
تسمح لك النماذج بإنشاء مصادر البيانات على الفور ، أثناء فهرسة ال Subgraph الخاص بك. قد يكون الأمر هو أن عقدك سينتج عنه عقود جديدة عندما يتفاعل الأشخاص معه ، وبما أنك تعرف شكل هذه العقود (ABI ، الأحداث ، إلخ) مسبقًا ، يمكنك تحديد الطريقة التي تريد فهرستها بها في النموذج ومتى يتم إنتاجها ، وسيقوم ال Subgraph الخاص بك بإنشاء مصدر بيانات ديناميكي عن طريق توفير عنوان العقد.

Check out the "Instantiating a data source template" section on: [Data Source Templates](/developer/create-subgraph-hosted#data-source-templates).
راجع قسم "إنشاء نموذج مصدر بيانات" في: [ نماذج مصدر البيانات ](/developer/create-subgraph-hosted#data-source-templates).

### 7. How do I make sure I'm using the latest version of graph-node for my local deployments?
### 7. كيف أتأكد من أنني أستخدم أحدث إصدار من graph-node لعمليات النشر المحلية الخاصة بي؟

You can run the following command:
يمكنك تشغيل الأمر التالي:

```sh
docker pull graphprotocol/graph-node:latest
```

**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.
** ملاحظة: ** ستستخدم docker / docker-compose دائمًا أي إصدار من graph-node تم سحبه في المرة الأولى التي قمت بتشغيلها ، لذلك من المهم القيام بذلك للتأكد من أنك محدث بأحدث إصدار graph-node.

### 8. How do I call a contract function or access a public state variable from my subgraph mappings?
### 8. كيف يمكنني استدعاء دالة العقد أو الوصول إلى متغير الحالة العامة من Subgraph mappings الخاصة بي؟

Take a look at `Access to smart contract` state inside the section [AssemblyScript API](/developer/assemblyscript-api).
ألقِ نظرة على حالة `الوصول إلى العقد الذكي` داخل القسم [ AssemblyScript API ](/developer/assemblyscript-api).

### 9. 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`?
### 9. هل من الممكن إنشاء Subgraph باستخدام`graph init` from `graph-cli`بعقدين؟ أو هل يجب علي إضافة مصدر بيانات آخر يدويًا في `subgraph.yaml` بعد تشغيل `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.
للأسف هذا غير ممكن حاليا. الغرض من `graph init` هو أن تكون نقطة بداية أساسية حيث يمكنك من خلالها إضافة المزيد من مصادر البيانات يدويًا.

### 10. I want to contribute or add a GitHub issue, where can I find the open source repositories?
### 10. أرغب في المساهمة أو إضافة مشكلة 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)

### 11. What is the recommended way to build "autogenerated" ids for an entity when handling events?
### 11. ما هي الطريقة الموصى بها لإنشاء معرفات "تلقائية" لكيان عند معالجة الأحداث؟

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.
إذا تم إنشاء كيان واحد فقط أثناء الحدث ولم يكن هناك أي شيء متاح بشكل أفضل ، فسيكون hash الإجراء + فهرس السجل فريدا. يمكنك تشويشها عن طريق تحويلها إلى Bytes ثم تمريرها عبر `crypto.keccak256` ولكن هذا لن يجعلها فريدة من نوعها.

### 12. When listening to multiple contracts, is it possible to select the contract order to listen to events?
### 12. عند الاستماع إلى عدة عقود ، هل من الممكن تحديد أمر العقد للاستماع إلى الأحداث؟

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.
ضمن ال Subgraph ، تتم معالجة الأحداث دائمًا بالترتيب الذي تظهر به في الكتل ، بغض النظر عما إذا كان ذلك عبر عقود متعددة أم لا.

### 13. Is it possible to differentiate between networks (mainnet, Kovan, Ropsten, local) from within event handlers?
### 13. هل من الممكن التفريق بين الشبكات (mainnet، Kovan، Ropsten، local) من داخل معالجات الأحداث؟

Yes. You can do this by importing `graph-ts` as per the example below:
نعم. يمكنك القيام بذلك عن طريق استيراد `graph-ts` كما في المثال أدناه:

```javascript
import { dataSource } from '@graphprotocol/graph-ts'
Expand All @@ -73,39 +73,39 @@ dataSource.network()
dataSource.address()
```

### 14. Do you support block and call handlers on Rinkeby?
### 14. هل تدعم معالجات الكتل والإستدعاء على Rinkeby؟

On Rinkeby we support block handlers, but without `filter: call`. Call handlers are not supported for the time being.
في Rinkeby ، ندعم معالجات الكتل ، لكن بدون `filter: call`. معالجات الاستدعاء غير مدعومة في الوقت الحالي.

### 15. Can I import ethers.js or other JS libraries into my subgraph mappings?
### 15. هل يمكنني استيراد ethers.js أو مكتبات JS الأخرى إلى ال Subgraph mappings الخاصة بي؟

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.
ليس حاليًا ، حيث تتم كتابة ال mappings في AssemblyScript. أحد الحلول البديلة الممكنة لذلك هو تخزين البيانات الأولية في الكيانات وتنفيذ المنطق الذي يتطلب مكتبات JS على ال client.

### 16. Is it possible to specifying what block to start indexing on?
### 16. هل من الممكن تحديد الكتلة التي سيتم بدء الفهرسة عليها؟

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
نعم. يحدد `dataSources.source.startBlock` في ملف `subgraph.yaml` رقم الكتلة الذي يبدأ مصدر البيانات الفهرسة منها. في معظم الحالات نقترح استخدام الكتلة التي تم إنشاء العقد من خلالها: Start blocks

### 17. Are there some tips to increase performance of indexing? My subgraph is taking a very long time to sync.
### 17. هل هناك بعض النصائح لتحسين أداء الفهرسة؟ تستغرق مزامنة ال subgraph وقتًا طويلاً جدًا.

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](/developer/create-subgraph-hosted#start-blocks)
نعم ، يجب إلقاء نظرة على ميزة start block الاختيارية لبدء الفهرسة من الكتل التي تم نشر العقد: [ start block ](/developer/create-subgraph-hosted#start-blocks)

### 18. Is there a way to query the subgraph directly to determine what the latest block number it has indexed?
### 18. هل هناك طريقة للاستعلام عن ال Subgraph بشكل مباشر مباشرةً رقم الكتلة الأخير الذي تمت فهرسته؟

Yes! Try the following command, substituting "organization/subgraphName" with the organization under it is published and the name of your subgraph:
نعم! 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
```

### 19. What networks are supported by The Graph?
### 19. ما هي الشبكات الذي يدعمها The Graph؟

The graph-node supports any EVM-compatible JSON RPC API chain.
تدعم graph-node أي سلسلة API JSON RPC متوافقة مع EVM.

The Graph Network supports subgraphs indexing mainnet Ethereum:
شبكة The Graph تدعم ال subgraph وذلك لفهرسة mainnet Ethereum:

- `mainnet`

In the Hosted Service, the following networks are supported:
في ال Hosted Service ، يتم دعم الشبكات التالية:

- Ethereum mainnet
- Kovan
Expand All @@ -129,9 +129,9 @@ In the Hosted Service, the following networks are supported:
- Fuse
- Moonbeam
- Arbitrum One
- Arbitrum Testnet (on Rinkeby)
- (Arbitrum Testnet (on Rinkeby
- Optimism
- Optimism Testnet (on Kovan)
- (Optimism Testnet (on Kovan

There is work in progress towards integrating other blockchains, you can read more in our repo: [RFC-0003: Multi-Blockchain Support](https://github.com/graphprotocol/rfcs/pull/8/files).

Expand Down

0 comments on commit 911af3c

Please sign in to comment.