> For the complete documentation index, see [llms.txt](https://docs.rome.builders/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rome.builders/ar/albda/ecosystem.md).

# المنظومة والمستودعات

الواجهة العامة لـ Rome هي مجموعة من المستودعات: بضعة **الأساس** حِزم تبني عليها، وأداة توليد هيكل، وتطبيقات مرجعية تتعلم منها، وخدمتان يستدعيهما تطبيقك. هذه الصفحة هي الخريطة — ما هو كل مستودع وكيف تتكامل معًا.

جاران يجيبان عن أسئلة مختلفة، وهذه الصفحة تربط إلى كليهما بدلًا من تكرارهما:

* [المعمارية](/ar/albda/architecture.md) تشرح **البروتوكول** — كيف يعمل EVM داخل برنامج Solana.
* كل مستودع يضم ملف **`AGENTS.md`** (مثل [rome-sdk-ts/AGENTS.md](https://github.com/rome-protocol/rome-sdk-ts/blob/main/AGENTS.md)) الذي يوجّهك حسب **ما الذي تبدأ منه** (عقد Solidity، برنامج Solana، مشروع جديد بالكامل، من المنزل) إلى المثال الأقرب لحالتك.

هذه الصفحة هي المستوى الذي يقع بينهما: **السطح الكامل** وكيف ترتبط الأجزاء.

## السطح في لمحة

### الأساس — ابنِ على هذه

| المستودع                                                        | ما هو                                                                                                                                                                     | استخدمه عندما                                            |
| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| [rome-registry](https://github.com/rome-protocol/rome-registry) | `@rome-protocol/registry` — إسقاط مُولَّد للقراءة فقط لحقائق السلسلة الحية (المعرّفات، RPC، العناوين، mints الرموز، معرّفات البرامج، خلاصات oracle، ALTs).                | تحتاج إلى حقيقة فعلية من السلسلة — لا تضعها ثابتة أبدًا. |
| [rome-sdk-ts](https://github.com/rome-protocol/rome-sdk-ts)     | `@rome-protocol/sdk` — مسار الكتابة في TypeScript: `submitRomeTx` + تحديد حجم الرسوم، وكلا المسارين، ومُرمِّزات PDA/ATA + CPI، وروابط precompile، وعميل `/bridge` client. | أنت تكتب كود التطبيق أو الواجهة الأمامية.                |
| [rome-solidity](https://github.com/rome-protocol/rome-solidity) | واجهات precompile الخاصة بـ Solidity، وأغلفة SPL/ERC-20، ومهايئات oracle — مجموعة أدوات جهة العقود.                                                                       | أنت تكتب العقود.                                         |

### تطبيقات مرجعية — تعلّم بالمثال

| المستودع                                                                | ما هو                                                                                         | استخدمه عندما                               |
| ----------------------------------------------------------------------- | --------------------------------------------------------------------------------------------- | ------------------------------------------- |
| [rome-dex](https://github.com/rome-protocol/rome-dex)                   | AMM ثنائي المسار — تجمع Solana أصلي مع موجّه EVM نحيف.                                        | فتح المسار الآخر؛ مثال **native-core** .    |
| [aerarium](https://github.com/rome-protocol/aerarium)                   | إقراض ثنائي المسار — نواة Comet مكتوبة بـ Solidity يصل إليها مستخدمو Solana عبر مرسل اصطناعي. | فتح المسار الآخر؛ مثال **Solidity-core** .  |
| [cardo](https://github.com/rome-protocol/cardo)                         | مستخدمو EVM يديرون تطبيقات Solana اللامركزية (swap/stake/lend/perps) عبر CPI.                 | مثال عملي لتطبيق من CPI إلى Solana للدراسة. |
| [appia](https://github.com/rome-protocol/appia)                         | تمويل لامركزي عبر VMs متعددة يركز على المراكز؛ يصل إليه المستخدمون من سلسلتهم الأصلية.        | تطبيق **من المنزل** .                       |
| [rome-aave-v3-demo](https://github.com/rome-protocol/rome-aave-v3-demo) | الإيداع/الاقتراض/السداد في Aave v3، منشور دون تغيير.                                          | تطبيق EVM كامل يعمل كما هو.                 |

### تفريعات العقود — بروتوكولات معروفة، منشورة على Rome

| المستودع                                                                          | ما هو                           | استخدمه عندما             |
| --------------------------------------------------------------------------------- | ------------------------------- | ------------------------- |
| [compound-on-rome-comet](https://github.com/rome-protocol/compound-on-rome-comet) | سوق أموال Compound III (Comet). | تفريع بروتوكول EVM معروف. |
| [rome-aave-v3](https://github.com/rome-protocol/rome-aave-v3)                     | تفريعة عقود Aave v3.            | تفريع بروتوكول EVM معروف. |

### الخدمات — يستدعيها تطبيقك

| المستودع                                                                    | ما هو                                                                                        | استخدمه عندما                   |
| --------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- | ------------------------------- |
| [rome-bridge-api](https://github.com/rome-protocol/rome-bridge-api)         | منسّق خارج السلسلة + ممول الرسوم للجسر على السلسلة. لا يحتفظ بأي مفاتيح.                     | تمويل محفظة، أو مسار من المنزل. |
| [rome-oracle-gateway](https://github.com/rome-protocol/rome-oracle-gateway) | خلاصات أسعار Solana (Pyth, Switchboard) معروضة لـ EVM عبر Chainlink `AggregatorV3Interface`. | تحتاج إلى خلاصة سعر.            |

### القالب — ابدأ هنا

| المستودع                                                            | ما هو                                                                                                                                   | استخدمه عندما   |
| ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------- |
| [create-rome-app](https://github.com/rome-protocol/create-rome-app) | `npx github:rome-protocol/create-rome-app` — ينشئ قالب تطبيق ثنائي المسار موصولًا مسبقًا بالـ registry وSDK، مع فحص ممول لكلا المسارين. | بدء تطبيق جديد. |

## كيف تتكوّن معًا

```mermaid
flowchart TD
    REG["rome-registry — حقائق السلسلة الحية"]
    SDK["rome-sdk-ts — الكتابة، CPI، عميل الجسر"]
    SOL["rome-solidity — واجهات precompile، أغلفة SPL، مهايئات oracle"]
    CRA["create-rome-app — أداة التوليد"]
    APP["تطبيقك — الواجهة الأمامية + العقود"]
    BAPI["rome-bridge-api — منسّق خارج السلسلة، لا يحتفظ بأي مفاتيح"]
    OG["rome-oracle-gateway — خلاصات أسعار Solana"]

    CRA -->|ينشئ قالبًا، موصول مسبقًا| APP
    REG -->|حقائق، لا تُثبت يدويًا أبدًا| APP
    SDK -->|مسار الكتابة وCPI| APP
    SOL -->|يُستورد من قِبل عقودك| APP
    APP -->|SDK /عميل الجسر| BAPI
    APP -->|يقرأ عبر AggregatorV3Interface| OG
    OG -.->|توجد المهايئات في| SOL
    CRA -.->|يوصل| REG
    CRA -.->|يوصل| SDK
```

العمود الفقري هو ثلاث ركائز أساسية وأداة توليد:

* [**rome-registry**](https://github.com/rome-protocol/rome-registry) هو المصدر الوحيد للحقائق الحية. [**rome-sdk-ts**](https://github.com/rome-protocol/rome-sdk-ts) هو مسار الكتابة — و `/bridge` المسار الفرعي الخاص به هو العميل الذي يستخدمه تطبيقك للتواصل مع `rome-bridge-api`. [**rome-solidity**](https://github.com/rome-protocol/rome-solidity) هو ما تستورده عقودك (والتفريعات)؛ مهايئات oracle التي `rome-oracle-gateway` تُنشر هناك أيضًا. الثلاثة مستقلون عن بعضهم — اختر ما يحتاجه تطبيقك.
* [**create-rome-app**](https://github.com/rome-protocol/create-rome-app) يربط الأولين معًا لتطبيق جديد، بحيث يبدأ المشروع الجديد بقراءة الـ registry والكتابة عبر SDK بالفعل.

التطبيقات المرجعية هي الاستثناء الذي يستحق أن تعرفه: **فهي تسبق الحِزم المستخرجة.** يستخدم cardo حزمة registry؛ ويحوّل appia الـ registry إلى JSON ثابت وقت البناء؛ وكلاهما يضمّن مسار الكتابة بدلًا من استيراد SDK. اقرأها لتتعلم الأنماط — لكن **تطبيقًا جديدًا** يجب أن يبدأ من `create-rome-app` + الحِزم، لا باستنساخ تطبيق.

## تنقّل حسب ما تحتاجه

* **حقيقة حيّة من السلسلة** (id، address، mint، program id) → [rome-registry](https://github.com/rome-protocol/rome-registry). لا تثبته يدويًا أبدًا.
* **كتابة كود التطبيق** (كتابة، استدعاء CPI، جسر) → [rome-sdk-ts](https://github.com/rome-protocol/rome-sdk-ts)؛ المرجع في [Rome SDK](/ar/almntjat/rome-sdk.md).
* **كتابة العقود** → [rome-solidity](https://github.com/rome-protocol/rome-solidity)؛ راجع [نشر عقود Solidity](/ar/adlh-almtwryn/deploy-solidity.md).
* **استدعاء برنامج Solana من عقد Solidity** → precompile الخاص بـ CPI في [rome-solidity](https://github.com/rome-protocol/rome-solidity) (`interface.sol`); [cardo](https://github.com/rome-protocol/cardo) هو مثال عملي.
* **مثال يعمل فعليًا** على AMM أو الإقراض أو CPI أو تطبيق من المنزل → التطبيقات المرجعية أعلاه؛ و `AGENTS.md` لكل مستودع
* **يوجّهك حسب نقطة البداية.** → [create-rome-app](https://github.com/rome-protocol/create-rome-app).
* **خلاصة سعر** → [rome-oracle-gateway](https://github.com/rome-protocol/rome-oracle-gateway) (انظر [بوابة Oracle Gateway](/ar/alttbyqat-ala-rome/oracle-gateway.md)).
* **المستخدمون على سلسلة أخرى** → [من المنزل](/ar/adlh-almtwryn/from-home.md) + [rome-bridge-api](https://github.com/rome-protocol/rome-bridge-api).
* **تحديد أي جانب يحمل منطقك** → [اختر نواتك](/ar/almfahym-alasasyh/choose-your-core.md).

## طبقة الأساس، عن قرب

### rome-registry — حقائق حيّة، عامة بطبيعتها

الـ registry هو **مولَّد** من المصدر الداخلي لـ Rome: قائمة سماح تُصدِر فقط ما يُفترض أن يكون عامًا، **تستبدل** نقاط النهاية الداخلية بنظيراتها العامة، و **ترفض افتراضيًا** كل شيء آخر — لذا فهو آمن للنشر العام بطبيعته. ينشر، لكل سلسلة، `chain.json` / `tokens.json` / `contracts.json` / `oracle.json` / `bridge.json` / `alts.json`، بالإضافة إلى برامج Solana `و` عمليات نشر التطبيقات لكل بروتوكول.

تقرأه عبر دوال getter — `getChain`, `getTokens`, `getContracts`, `getOracle`, `getBridge`, `getAlts`، و `getPrograms(network)` (معرّفات البرامج مفهرسة حسب الشبكة، لا حسب chain id). الحزمة ESM عادية (ولا تتضمن أنواع TypeScript مضمّنة اليوم).

شيئان يجب معرفتهما قبل دمجها:

* **`getTokens()` لا تُرجع `assetRef`.** للعثور على غلاف رمز ما، طابِق على **mint** (`mintId`) — مثلًا، غلاف رمز الغاز هو الإدخال الذي يشارك نفس mint.
* **تقرأ JSON من القرص (`node:fs`) — لذا فهي ليست آمنة للمتصفح.** في تطبيق ويب، اسقِط القيم التي تحتاجها إلى ملف JSON ثابت وقت البناء واستورد ذلك في العميل. (وهذا بالضبط ما يفعله `create-rome-app` وappia.)

الحقائق التي لا يقرأها تطبيقك مباشرة تظهر أيضًا في مرجع [عناوين العقود](/ar/almrja/contract-addresses.md) .

### rome-sdk-ts — مسار الكتابة، كلا المسارين

`@rome-protocol/sdk` (v0.2.1) يغلّف كل ما تحتاجه كتابة Rome حتى لا تبني calldata أو الرسوم يدويًا:

* **`submitRomeTx`** — مسار الكتابة في جانب EVM: يحسب الغاز من `eth_estimateGas` ‏(مع حشو، ومع حدٍّ احتياطي عندما يفشل التقدير) ويزوّد رسوم EIP-1559.
* **`submitRomeTxSolanaLane`** — الشيء نفسه، مع **Phantom/Solana** المحفظة التي تقود تطبيق EVM الخاص بك. المرسل الاصطناعي لا يحتفظ بأي شيء في حالة السكون؛ `buildFundLeg`/`buildSweepLeg` ينقل القيمة إلى الداخل والخارج كـ ERC-20 (`wUSDC`), **وليس** الأصلي `msg.value`، ويتم توفير مُرسِل اصطناعي جديد تلقائيًا (`create_pda`) عند أول استخدام.
* **اشتقاق PDA/ATA، ومُرمِّزات CPI `invoke`/`invoke_signed` ، وروابط precompile**، و **`/bridge`** مسار فرعي (`@rome-protocol/sdk/bridge`) — عميل الجسر المعتمد على التسعير أولًا.

واجهة API الكاملة + أمثلة: [Rome SDK](/ar/almntjat/rome-sdk.md)، والأدلّة [استدعِ Solana من EVM](/ar/adlh-almtwryn/call-solana-from-evm.md), [استدعِ EVM من Solana](/ar/adlh-almtwryn/call-evm-from-solana.md)، و [ابنِ تطبيقًا ثنائي المسار](/ar/adlh-almtwryn/dual-lane-app.md).

### rome-solidity — مجموعة أدوات جهة العقود

ما تستورده عقودك:

* **`contracts/interface.sol`** — واجهات precompile المرتبطة بعناوينها: **CPI** `ICrossProgramInvocation` (`0xFF…08`), **Helper** `IHelperProgram` (`0xFF…09`، وإنشاء ATA/PDA، وتحويلات SPL، و gas↔lamports)، **Withdraw** `IWithdraw` (`0x42…16`، و **System** (`0xFF…07`). توجد هنا أيضًا عائلة **المخزنة مؤقتًا** المُحسَّنة للغاز؛ ويستخدم العقد track واحدًا باستمرار. جدول العناوين الكامل: [عناوين العقود](/ar/almrja/contract-addresses.md).
* **أغلفة SPL/ERC-20** — `SPL_ERC20` (معتمد على CPI) و `SPL_ERC20_cached` (المسار المخزن مؤقتًا، المستخدم على devnet)؛ أي mint من SPL هو بالفعل ERC-20 عبر هذه.
* **مهايئات Oracle** (`contracts/oracle/`) — مهايئات Pyth/Switchboard `rome-oracle-gateway` تُنشر، وتُقرأ عبر `IAggregatorV3Interface`.
* أمثلة عملية في `contracts/examples/`.

قسم Solidity SDK في [Rome SDK](/ar/almntjat/rome-sdk.md) يعرض أنماط الاستيراد وروابط precompile في الكود.

## ما التالي

* [اختر نواتك](/ar/almfahym-alasasyh/choose-your-core.md) — أي جانب يحمل منطقك.
* [البداية السريعة](/ar/albda/quickstart.md) — انشر أول عقد لك.
* [create-rome-app](https://github.com/rome-protocol/create-rome-app) — أنشئ قالب تطبيق ثنائي المسار.
* لكل مستودع `AGENTS.md` — المسار حسب نقطة البداية إلى المثال الأقرب.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.rome.builders/ar/albda/ecosystem.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
