# المفاهيم الرئيسية

المصطلحات والمفاهيم الأساسية للبناء على بروتوكول Rome.

## مفاهيم سولانا

**البرنامج** — ما يعادل العقد الذكي في سولانا. البرامج هي ملفات تنفيذية عديمة الحالة تُنشر على السلسلة. إن Rome EVM نفسه برنامج سولانا.

**حساب** — كل الحالة في سولانا تعيش داخل الحسابات. لكل حساب مالك (برنامج)، ورصيد (لامبورت)، وبيانات. وعلى عكس إيثريوم، يُخزن الكود والحالة في حسابات منفصلة.

**PDA (عنوان مشتق من البرنامج)** — عنوان حتمي مشتق من بذور ومعرّف برنامج. تتيح PDAs للبرامج «امتلاك» حسابات من دون مفتاح خاص. يستخدم Rome عناوين PDA لربط عناوين إيثريوم بحسابات سولانا.

**CPI (استدعاء بين البرامج)** — قيام أحد برامج سولانا باستدعاء برنامج آخر ضمن المعاملة نفسها. بهذه الطريقة تتفاعل عقود Rome EVM مع Jupiter وKamino وSPL Token وغيرها من برامج سولانا.

**SPL Token** — برنامج التوكن القياسي في سولانا. يعادل ERC-20 في إيثريوم. جميع التوكنات القابلة للاستبدال في سولانا (USDC وSOL، إلخ) هي توكنات SPL.

**Token-2022** — برنامج التوكن SPL من الجيل التالي مع إضافات مثل Transfer Hooks وConfidential Transfers وPermanent Delegates.

**Transfer Hook** — إضافة في Token-2022 تستدعي برنامجًا عند كل عملية نقل توكن. يتيح Rome لعقود EVM الذكية أن تعمل كـ transfer hooks.

**ATA (حساب التوكن المرتبط)** — حساب توكن حتمي لزوج محفظة + mint معيّن. لكل مستخدم ATA واحد لكل توكن يحتفظ به.

**Lamports** — أصغر وحدة من SOL. 1 SOL = 1,000,000,000 لامبورت (10^9).

**وحدات الحوسبة (CU)** — ما يعادل غاز إيثريوم في سولانا. لكل معاملة ميزانية حوسبة (الافتراضي نحو 200 ألف CU، والحد الأقصى نحو 1.4 مليون CU). تستهلك العمليات وحدات CU.

## مفاهيم Rome

**برنامج Rome EVM** — برنامج سولانا الذي يحتوي على مفسّر بايت كود EVM. يُنشر بمعرّف برنامج محدد لكل بيئة.

**معرّف السلسلة** — يحصل كل تطبيق على Rome على معرف سلسلة EVM خاص به. وهذا ينشئ بيئات EVM معزولة تشترك في الحالة الأساسية نفسها في سولانا.

**التنفيذ الذرّي (VmAt)** — معاملة EVM تُنفّذ بالكامل داخل معاملة سولانا واحدة. تُستخدم لمعظم العمليات.

**التنفيذ التكراري (VmIt)** — معاملة EVM تُقسَّم عبر عدة معاملات سولانا، وتنفّذ نحو 500 opcode في كل خطوة. تُستخدم للعمليات كثيفة الحوسبة مثل BN254 pairing.

**حساب الحامل** — مخزن مؤقت على السلسلة يخزن معاملات EVM الكبيرة (حتى 80 كيلوبايت) التي تتجاوز حد حجم معاملة سولانا البالغ 1,232 بايت. تتم إدارته بشفافية بواسطة SDK.

**StateHolder** — حساب على السلسلة يخزن حالة الآلة الافتراضية الملسلسلة بين خطوات التنفيذ التكرارية.

**Rome Proxy** — خادم JSON-RPC (المنفذ 9090) الذي يترجم استدعاءات واجهة برمجة تطبيقات إيثريوم إلى معاملات سولانا. يتصل به MetaMask وHardhat.

**Hercules** — مفهرس الكتل الذي يراقب أحداث Rome EVM على سولانا وينتج بيانات كتل متوافقة مع إيثريوم.

**Rhea** — جسر الـ mempool الذي يمرّر المعاملات من OP-Geth إلى سولانا (يُستخدم فقط في وضع OP-Geth).

**المدفِع** — زوج مفاتيح سولانا يوقّع ويدفع تكاليف معاملات سولانا نيابةً عن مستخدمي EVM. تتم إدارته عبر Proxy من خلال مجموعات المدفِعين.

## مفاهيم التوكن

**ERC20SPL** — عقد غلاف ERC-20 يمثل توكن SPL داخل Rome EVM. يقرأ الغلاف الأرصدة مباشرةً من حساب توكن SPL الأساسي — من دون حالة منفصلة.

**ERC20SPLFactory** — عقد مصنع ينشر أغلفة ERC20SPL لأي توكن SPL عند أول عملية جسر.

**سجل التوكنات المعيارية** — يربط كل أصل بمينت SPL واحد معياري لمنع التمثيلات المجزأة (مثلاً، USDC يُربط دائمًا بمينت SPL الأصلي الخاص بـ Circle).

## Precompiles

**الـ Precompiles القياسية في إيثريوم** — ecrecover (0x01)، SHA-256 (0x02)، RIPEMD-160 (0x03)، identity (0x04)، BN254 ecAdd/ecMul/ecPairing (0x06-0x08)، Blake2f (0x09).

**الـ Precompile الخاص ببرنامج النظام** (`0xFF...07`— اشتقاق PDA، تحويل base58، إنشاء الحساب من Solidity.

**CPI Precompile** (`0xFF...08`— استدعاء بين البرامج من Solidity. استدعِ أي برنامج سولانا باستخدام `invoke()` أو `invoke_signed()`.

**Withdraw Precompile** (`0x42...16`— سحب SOL أو توكنات SPL من EVM إلى سولانا.

## أنواع المعاملات

**RheaTx** — معاملة EVM واحدة على rollup واحد. النوع الأكثر شيوعًا.

**RemusTx** — عدة معاملات EVM عبر rollups مختلفة، تُنفَّذ بشكل ذري. إذا فشلت أي معاملة، تُلغى جميعها.

**RomulusTx** — معاملات EVM مدمجة + تعليمات سولانا الأصلية في عملية ذرية واحدة. النوع الأقوى — امزج Solidity وسولانا في معاملة واحدة.

## أوضاع النشر

**وضع الحالة الواحدة** — يتصل المستخدمون مباشرةً بـ Rome Proxy. إعداد أبسط، وزمن استجابة أقل. يتم إنتاج كتل EVM بواسطة Hercules وتخزينها في PostgreSQL.

**وضع OP-Geth** — يتصل المستخدمون بـ OP-Geth للحصول على توافق كامل مع واجهة برمجة تطبيقات إيثريوم RPC. يربط Rhea الـ mempool بسولانا. يزوّد Hercules كتلًا إلى OP-Geth عبر Engine API.

## ما التالي

* [نموذج التنفيذ](/ar/almfahym-alasasyh/execution-model.md) — نظرة معمقة على كيفية تنفيذ معاملات EVM على سولانا
* [تكامل الرموز](/ar/almfahym-alasasyh/token-interop.md) — كيفية تفاعل توكنات ERC-20 وSPL
* [القيود](/ar/almfahym-alasasyh/constraints.md) — الحدود والقيود المهمة


---

# Agent Instructions: 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:

```
GET https://docs.rome.builders/ar/albda/key-concepts.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
