إنتقل إلى المحتوى الرئيسي

البدء السريع

يشرح هذا الدليل الترحيل بين شبكة اختبار QoreChain qorechain-diana وشبكة اختبار Cosmos Hub العامة (معرّف السلسلة provider): التثبيت، والإعداد، وإضافة المفاتيح وتسجيلها، والتحقق من الجاهزية، وتشغيل المُرحِّل، وإرسال أول تحويل. وهو موجّه لمن لم يشغّل مُرحِّلًا من قبل. كل ما هنا على شبكة الاختبار؛ والرموز بلا قيمة.

الابتكارات​

  • الجاهزية حقل واحد. ينتهي qorel keys pqc-status بالحقل ready_to_relay. فإذا كان true فالمفتاح ما بعد الكمومي مسجّل في السلسلة ويطابق المفتاح المحلي، ولن يرفض المُرحِّل معاملاته بهذا السبب.
  • لا يُرسل شيء عند وجود خلل. يوقف فحص ما قبل الإرسال المعاملة السيئة قبل وصولها إلى السلسلة، فخطوة فائتة لا تكلّف أي رسم.
  • التدفق نفسه لكل سلسلة. خطوات جانب Cosmos Hub هي خطوات Hermes نفسها؛ والجديد فقط هو مدخل سلسلة QoreChain وخطوة التسجيل.

كيفية الاستخدام​

1. التثبيت​

ثبّت qorel بأي طريقة في صفحة التثبيت وتحقق منه:

qorel --version

2. احصل على ملف الإعدادات​

انسخ ملف الإعدادات النموذجي من المستودع (packaging/config.example.toml؛ وتضعه حزمتا .deb و.rpm في /etc/qorel/config.example.toml):

mkdir -p ~/.hermes
curl -o ~/.hermes/config.toml https://raw.githubusercontent.com/qorechain/QORel/main/packaging/config.example.toml

افتح ~/.hermes/config.toml واستبدل العناصر النائبة لعقدة QoreChain (YOUR-QORECHAIN-NODE) بعناوين RPC وgRPC وWebSocket لعقدة شبكة اختبار تشغّلها. ليس لدى QoreChain نقطة gRPC عامة، فتحتاج إلى عقدتك الخاصة؛ راجع تشغيل عقدة والاتصال بشبكة الاختبار. كل إعداد مشروح في الإعدادات.

يحتوي ملف الإعدادات النموذجي على سلسلتين: qorechain-diana مع signing = 'qorechain-hybrid'، وprovider مع التوقيع القياسي الافتراضي. ويقصر الترحيل على transfer/channel-0 في QoreChain وtransfer/channel-600 في شبكة اختبار Hub.

3. أنشئ حسابات المُرحِّل ومَوِّلها​

أنشئ حسابًا جديدًا للمُرحِّل على كل سلسلة. استخدم حسابًا مخصصًا، ولا تستخدم أبدًا مفتاح مشغّل مدقّق. احفظ العبارة السرية لكل حساب في ملف لا يقرؤه غيرك:

umask 077
nano ./diana.mnemonic # paste the mnemonic, save
nano ./provider.mnemonic

يمكن للعبارة السرية نفسها أن تخدم السلسلتين، أو يمكنك استخدام عبارة مستقلة لكل منهما. يشتق QORel بنوع العملة 118 (m/44'/118'/0'/0/0) افتراضيًا؛ مرّر --hd-path إلى keys add إذا كان حسابك يستخدم مسارًا آخر.

أضف المفاتيح:

qorel keys add --chain qorechain-diana --key-name relayer --mnemonic-file ./diana.mnemonic
qorel keys add --chain provider --key-name relayer --mnemonic-file ./provider.mnemonic

على qorechain-diana، يشتق keys add أيضًا مفتاح ML-DSA-87 من العبارة السرية نفسها ويخزّن بذرته بجانب المفتاح باسم relayer.pqc. احذف ملفات العبارات السرية عند الانتهاء.

ثم موّل الحسابات. اعرض العناوين بالأمر qorel keys list --chain <id>. يأتي QOR الخاص بشبكة الاختبار من صنبور لوحة التحكم؛ وتأتي رموز الاختبار لشبكة اختبار Hub من الصنبور العام لتلك الشبكة. تكفي رموز قليلة للرسوم: الحد الأدنى في QoreChain هو 0.1 uqor لكل وحدة غاز، فتكلّف معاملة بحد الغاز الافتراضي 400,000 نحو 40,000 uqor بالسعر الأدنى. تحقق بالأمرين:

qorel keys balance --chain qorechain-diana
qorel keys balance --chain provider

4. سجّل المفتاح ما بعد الكمومي​

لا تقبل QoreChain معاملة موقّعة هجينًا إلا من حساب سجّل مفتاحه العام ML-DSA-87. ويتم التسجيل مرة واحدة:

qorel keys register-pqc --chain qorechain-diana

يرسل معاملة واحدة، موقّعة بالمفتاح الكلاسيكي وحده (وهو النوع الوحيد من المعاملات الذي تقبله QoreChain هكذا)، مع إثبات حيازة. ومن الآمن تشغيله مرة أخرى: فإذا كان المفتاح نفسه مسجّلًا فلا يرسل شيئًا. وإذا كان للحساب مفتاح ما بعد كمومي مختلف مسجّلًا، فإنه يرفض ولا يرسل شيئًا.

تحقق من الجاهزية:

qorel keys pqc-status --chain qorechain-diana

النتيجة كائن JSON بالحقول chain_id وaccount وlocal_public_key_sha256 وregistered وmatches_local_key وregistered_public_key_sha256 وpossession_proven وsign_bytes وready_to_relay. تابع فقط عندما تكون ready_to_relay هي true. راجع استكشاف الأخطاء وإصلاحها إن لم تكن كذلك.

5. فحص السلامة​

qorel health-check

يفحص الإعدادات والاتصال بكل سلسلة، ويبلّغ عن مضاعِف غاز أقل من 1.1 على مدخل QoreChain بوصفه خطأ محتملًا في الإعداد (تحذير؛ والترحيل يظل يعمل).

6. اختر القناة​

لدى شبكة الاختبار قناة تحويل قائمة بالفعل: channel-0 على qorechain-diana، وطرفها المقابل channel-600 على provider (قناة الاختبار). لترحيلها، انتقل مباشرة إلى الخطوة 7.

لإنشاء قناة جديدة خاصة بك بين السلسلتين بدلًا من ذلك:

qorel create channel \
--a-chain qorechain-diana --b-chain provider \
--a-port transfer --b-port transfer \
--new-client-connection

يُنشئ --new-client-connection أيضًا العميلين الخفيفين والاتصال. وهذا يرسل عدة معاملات على كل سلسلة. ويطبع الأمر معرّفات القناة الجديدة؛ ضعها في packet_filter في مدخلي السلسلتين.

7. شغّل المُرحِّل​

qorel start

اتركه يعمل (استخدم خدمة systemd أو حاوية لمُرحِّل طويل الأمد؛ راجع التشغيل بجانب مدقّق). يرحّل QORel الحزم، ويحدّث العملاء الخفيفين، ويراقب سوء السلوك.

8. أرسل أول تحويل​

في طرفية ثانية، أرسل 1000 uqor من QoreChain إلى شبكة اختبار Hub. يوقّع QORel هذه المعاملة ويرسلها بنفسه، بالتوقيع الهجين نفسه:

qorel tx ft-transfer \
--src-chain qorechain-diana --dst-chain provider \
--src-port transfer --src-channel channel-0 \
--amount 1000 --denom uqor \
--timeout-seconds 600 \
--receiver <a cosmos address on the Hub testnet>

بدون --receiver تذهب الرموز إلى عنوان المُرحِّل نفسه على سلسلة الوجهة. ثم تابع الحزمة:

qorel query packet pending --chain qorechain-diana --port transfer --channel channel-0

تبقى الحزمة مدرجة إلى أن يسلّمها المُرحِّل العامل ويعود الإقرار. وعلى QoreChain يمكنك أيضًا قراءة القناة وتتبّع الرموز عبر REST:

curl -s https://api-testnet.qore.host/ibc/core/channel/v1/channels
curl -s https://api-testnet.qore.host/ibc/apps/transfer/v1/denoms

التحويل الذي لا يُسلَّم قبل انتهاء مهلته يُسترد إلى المُرسِل على سلسلة المصدر بواسطة المُرحِّل. وتمنحه قيمة --timeout-seconds أعلاه عشر دقائق.

كيفية الوصول​

  • الشبكة. شبكة الاختبار qorechain-diana وشبكة اختبار Cosmos Hub العامة فقط.
  • ما تحتاج إليه. QORel، وعقدة شبكة اختبار QoreChain تشغّلها (RPC وgRPC وWebSocket)، ونقاط نهاية يمكن الوصول إليها لشبكة اختبار Hub، وحساب مُرحِّل ممول واحد على كل سلسلة، والعبارة السرية لكل منهما في ملف.
  • التكاليف. رسوم برموز الاختبار فقط: على QoreChain، الغاز مضروبًا في سعر بحد أدنى 0.1 uqor لكل وحدة غاز، دون استرداد للغاز غير المستخدم.
  • مستخدمو الحاويات. شغّل كل أمر أعلاه بالصيغة docker run --rm -v $HOME/.qorel:/home/nonroot/.hermes ghcr.io/qorechain/qorel:0.1.0 <command>، مع ملفات العبارات السرية داخل المجلد المركَّب، وشغّل start بوصفه الحاوية طويلة الأمد (التثبيت).

أين يُنشر​

يأتي الملف التنفيذي وملف الإعدادات النموذجي من مستودع QORel (packaging/config.example.toml)؛ راجع التثبيت لكل القنوات ونظرة عامة على QORel للإصدارات.

الحدود والمشكلات المعروفة​

  • شبكة الاختبار فقط. IBC على الشبكة الرئيسية غير مفتوح؛ لا توجّه هذا التدفق إلى الشبكة الرئيسية.
  • تحتاج إلى عقدة QoreChain خاصة بك. لا توجد نقطة gRPC عامة.
  • القناة الجديدة تكلّف رسومًا على السلسلتين وتضيف عميلًا واتصالًا. فضّل ترحيل channel-0 ما لم تحتج إلى قناتك الخاصة.
  • قد تحدّ نقاط النهاية العامة في جانب Hub من المعدل. يواصل QORel إعادة المحاولة، لكن للترحيل المستمر استخدم عقدك الخاصة.
  • معلّق إلى أن يُرحَّل. إن لم يكن هناك مُرحِّل قيد التشغيل للقناة، يبقى التحويل معلّقًا إلى أن يُشغَّل مُرحِّل أو تنتهي مهلة الحزمة.

التالي: الإعدادات، المراقبة، استكشاف الأخطاء وإصلاحها.