> 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/key-concepts.md).

# المفاهيم الأساسية

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

## مفاهيم Solana

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

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

**PDA (العنوان المشتق من البرنامج)** — عنوان حتمي مشتق من بذور ومعرّف برنامج. تتيح عناوين PDA للبرامج "امتلاك" الحسابات من دون مفتاح خاص. يستخدم Rome عناوين PDA لربط عناوين Ethereum بحسابات Solana.

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

**رمز SPL** — برنامج الرموز القياسي في Solana. مكافئ ERC-20 على Ethereum. جميع الرموز القابلة للاستبدال على Solana (USDC وSOL وغيرها) هي رموز SPL.

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

**Transfer Hook** — امتداد في Token-2022 يستدعي برنامجًا في كل `transfer_checked` استدعاء.

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

**Lamports** — أصغر وحدة في SOL. 1 SOL = 1,000,000,000 lamports (10^9).

**وحدات الحساب (CU)** — ما يعادل gas في Ethereum ضمن Solana. لكل معاملة ميزانية حساب (افتراضيًا حوالي 200K CU، والحد الأقصى حوالي 1.4M CU). تستهلك العمليات وحدات حساب.

## مفاهيم Rome

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

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

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

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

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

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

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

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

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

## مفاهيم الرموز

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

**ERC20SPLFactory** — عقد مصنع ينشر أغلفة لأي رمز SPL.

**السجل** — تُنسَّق الأغلفة القياسية، ورموز الغاز، وتوصيلات الجسر خارج السلسلة في [rome-protocol/registry](https://github.com/rome-protocol/rome-registry)؛ لا يوجد عقد سجل رموز على السلسلة. وهذا يجعل كل أصل مرتبطًا بـ mint SPL قياسي واحد.

## البرامج المسبقة

**البرامج المسبقة القياسية في Ethereum** — ecrecover (0x01)، SHA-256 (0x02)، RIPEMD-160 (0x03)، identity (0x04)، modexp (0x05)، BN254 ecAdd/ecMul/ecPairing (0x06-0x08)، Blake2f (0x09).

**البرنامج المسبق للنظام** (`0xFF...07`) — اشتقاق PDA وتحويل base58 من Solidity.

**البرنامج المسبق CpiProgram** (`0xFF...08`) — الاستدعاء بين البرامج (`invoke` / `invoke_signed`) بالإضافة إلى اختصارات القراءة عبر الحالات.

**البرنامج المسبق HelperProgram** (`0xFF...09`) — إنشاء ATA/PDA، وتحويلات SPL، والتحويل بين gas وlamports؛ السطح الأساسي لعمليات SPL الموقعة من المستخدم عبر PDA.

**البرنامج المسبق للسحب** (`0x42...16`) — سحب SOL أو رموز SPL من EVM إلى Solana.

عائلة من المسارات المخزنة مؤقتًا (`0xff…04/05/06/0b`) تحاكي هذه للقراءات الموفرة لوحدات الحساب؛ ويستخدم العقد مسارًا واحدًا باستمرار.

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

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

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

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

## ما التالي

* [نموذج التنفيذ](/ar/almfahym-alasasyh/execution-model.md) — نظرة معمقة على كيفية تنفيذ معاملات EVM على Solana
* [التشغيل البيني للرموز](/ar/almfahym-alasasyh/token-interop.md) — كيفية تفاعل رموز ERC-20 ورموز SPL
* [القيود](/ar/almfahym-alasasyh/constraints.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/key-concepts.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.
