> 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/rome-zk-evm/verification-key.md).

# مفتاح التحقق

ابنِ ضيف دفعة خاصًا بالسلسلة واطلب تسجيل مفتاح التحقق ZisK الخاص به.

لكل سلسلة ضيف دفعة خاص بها. يحتوي الضيف على genesis الخاص بالسلسلة ومستلم الرسوم. يتحقق من بيانات الدفعة والتنفيذ، ثم يثبت القيم العامة التي تتحقق منها تسوية Solana. للضيف `programVK` يحدد البرنامج الجاري إثباته.

تُسجِّل السلسلة غير المصرَّح بها نفسها مع سجل مفاتيح تحقق فارغ. ولا يمكنها نشر جذر نهائي حتى يضيف Rome مفتاحًا لتلك السلسلة. ولا يمكن لسلطة السلسلة تضمين مفتاح في معاملة التسجيل الخاصة بها. هذه هي عملية v0.3.0 على شبكة Solana devnet.

## أنشئ الضيف

من `النشر/التجميع` في عملية checkout الخاصة بـ v0.3.0، استخدم إعدادات الإصدار `ROME_ZK_TAG=v0.3.0`, `ROME_ZK_GUEST_TAG=v0.3.0` و `ZISK_RELEASE=1.3.1-alpha`. شغِّل `./rollup init` أولاً حتى يتم عرض genesis ومعرّف السلسلة. تحتاج إلى أن تكون السلسلة مسجَّلة قبل إرسال الطلب. ثم نفّذ:

```sh
./rollup guest-build
```

يبني هذا الأمر صورة باستخدام سلسلة أدوات ZisK، ويستنسخ مصادر الـ rollup والضيف عند تلك العلامات، ويبني الضيف من genesis الخاص بك ويتحقق من أنه يحمل معرّف السلسلة الخاص بك. ويطبع قيمة SHA-256 لملف ELF الخاص بالضيف. تُسجِّل البيانات الوصفية المُولَّدة ذلك التجزئة، وتجزئة genesis، ومعرّف السلسلة، وإصدار ZisK ورقم scheme الخاص به. بالنسبة لهذا الإصدار، القيمتان الأخيرتان هما `1.3.1-alpha` و `2`.

لحساب `programVK` محليًا، يحتاج البناء إلى مفاتيح إثبات ZisK المطابقة وحوالي 36 غيغابايت من ذاكرة الوصول العشوائي. تستغرق هذه الخطوة حوالي 40 ثانية. إذا تجاهلت هذه الخطوة أو لم تكن لديك المفاتيح، فسيبلّغ البناء عن `ProgramVkNotComputed`. يرفض المُثبِت البيانات الوصفية من دون `programVK`؛ احسبه بالمفاتيح المطابقة أو اطلبه من Rome قبل أن تبدأ الإثبات.

ستحصل آلتان تبنيان نفس genesis عند هذه العلامات على تجزئة ELF نفسها. يعني تغيير genesis ضيفًا مختلفًا، ولا يمكن تغيير genesis بعد تسجيل السلسلة. ويرفض البناء أي genesis يختلف معرّف سلسلته عن معرّف سلسلتك (`ChainIdMismatch`) و genesis يمنح أكثر من حساب رصيدًا (`GenesisFundedAccountLimit`).

## اطلب من Rome تسجيله

استخدم [نموذج طلب مفتاح التحقق](https://github.com/rome-protocol/solana-zk-evm/issues/new?template=vkey-request.yml). جهّز معرّف السلسلة، والمفتاح العام لسلطة السلسلة، وتوقيع المعاملة التي سجّلت السلسلة. أدرج وسم الضيف والبيانات الوصفية المُولَّدة: تجزئة ELF، تجزئة genesis، `programVK`, `zisk` و `المخطط`. أرفق أو الصق genesis المعروض. إذا أعلن genesis عن رصيد مدعوم، فجهّز الخزنة الممولة المطابقة. أدرج `./rollup check` نتيجة ناجحة باستثناء العناصر التي تنتظر المفتاح.

يعيد Rome بناء الضيف من الوسم وgenesis. ويتحقق من معرّف السلسلة وgenesis وتجزئة ELF و `programVK` مقابل طلبك، ثم يسجّل المفتاح ضمن إصدار ZisK المطابق. يرد Rome على القضية بتوقيع معاملة تسجيل المفتاح. يصبح المفتاح قابلًا للاستخدام عند فتحة التنشيط المسجَّلة له؛ شغِّل `./rollup check` بعد تلك الفتحة. ومع تشغيل المُثبِت، `مفتاح التحقق` ينبغي أن ينجح الفحص. كما ينبغي أن ينجح فحص المفتاح القادر على الإيداع أيضًا.

يقوم Rome بتسجيل **طلب مكتمل خلال يومي عمل**. إذا كان الطلب غير مكتمل، يرد Rome بما ينقصه. يبدأ يومَا العمل عند اكتمال الطلب.

التوقيت مهم لأن نافذة الاسترداد تبدأ عند تسجيل السلسلة، لا عند تفعيل مفتاحها. نافذة v0.3.0 على devnet هي 6,480,000 فتحة، أي حوالي 30 يومًا. إذا لم يُنشَر أي جذر عند انتهاء تلك النافذة، يمكن لأي شخص استرداد السلسلة، وتذهب وديعتها البالغة 5 SOL إلى الخزانة. يمكن لسلطة السجل في Rome تغيير النافذة العامة، مع مراعاة حد أدنى قدره 216,000 فتحة.

بعد التنشيط، قدّم للمُثبِت الضيف المطابق والبيانات الوصفية ومفاتيح إثبات ZisK، وفعِّل `PROVER=on`، ثم شغّل `./rollup init`, `./rollup up` و `./rollup check`. يجب أن يستخدم الإثبات مفتاحًا نشطًا مسجَّلًا لهذه السلسلة. الانتقال لاحقًا إلى إصدار ZisK مختلف يتطلب بناء ضيف آخر وإدخالًا مسجَّلًا آخر؛ راجع [الإصدارات](/ar/rome-zk-evm/releases.md).

حقول الطلب الكاملة وخطوات المشغّل موجودة في [شغِّل على devnet في v0.3.0](https://github.com/rome-protocol/solana-zk-evm/blob/v0.3.0/docs/RUN-ON-DEVNET.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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.rome.builders/ar/rome-zk-evm/verification-key.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
