الجديد في QORel
تسرد هذه الصفحة ما يضيفه كل إصدار من QORel. وهي موجّهة إلى المشغّلين الذين يقررون الانتقال من Hermes، أو من إصدار سابق من QORel، وهي تذكر فقط ما يفعله الإصدار، بوصفه سلوكًا يمكن التحقق منه. يستند QORel إلى Hermes 1.13.3 (من Informal Systems، Apache-2.0)؛ وكل تغيير أدناه فوق ذلك الأساس. وما لم يُدرج هنا يتصرف كما يتصرف في Hermes.
0.1.0
الإصدار الأول. لشبكة الاختبار فقط. تحتوي صفحة الإصدارات على الملفات.
الابتكارات
- توقيع هجين ما بعد كمومي لـ QoreChain. اضبط
signing = 'qorechain-hybrid'على سلسلة فيُلحق QORel توقيع ML-DSA-87 (/qorechain.pqc.v1.PQCHybridSignature) بوصفه خيار الامتداد الحرج الوحيد في كل معاملة، ثم يوقّع الجسم النهائي بـ secp256k1. والرسالة التي يوقّعها المفتاح ما بعد الكمومي هي sign bytes من الإصدار 2، التي تتحقق منها شبكتا QoreChain. لا يمكن الجمع بينextension_optionsالثابتة وهذا الوضع، ويُرفض ملف الإعدادات إذا وُجدت. - التوقيع القياسي دون تغيير. مع
signing = 'standard'(الافتراضي) تكون صيغة المعاملة مطابقة لـ Hermes بايتًا ببايت، لـ Cosmos Hub وOsmosis وأي سلسلة أخرى مبنية على Cosmos SDK. - الحزمة
qorel-signer. البدائية ما بعد الكمومية (PqSigner، معMlDsa87Signer)، وقواعد السلسلة (SignBytesFramer)، وموقِّع الامتداد الذي يستدعيه المُرحِّل (TxExtensionSigner) واجهات منفصلة. وتمر محاكاة الغاز وتحديد حجم الدفعات عبر المسار نفسه، فيُحتسب دائمًا الحجم الإضافي البالغ نحو 4.7 كيلوبايت وغاز التحقق. qorel keys addيشتق المفتاح ما بعد الكمومي. على سلسلة هجينة يشتق مفتاح ML-DSA-87 من العبارة السرية والحساب نفسيهما باشتقاق محفظة QoreChain، ولا يخزّن منه سوى البذرة ذات 32 بايت، بجانب المفتاح، باسم<key name>.pqc. ولا يُطبع أي سر.qorel keys register-pqc. يرسلMsgRegisterPQCKeyV2مرة واحدة، مع إثبات حيازة على الشبكات من الإصدار v3.2.3 فما فوق. وهو متكرر الأثر بلا ضرر (لا يُرسل شيء إذا كان المفتاح نفسه مسجّلًا) ويرفض الإرسال إذا كان للحساب مفتاح مختلف. ولا يوجد--no-proofإلا للشبكات الأقدم من v3.2.3.qorel keys pqc-status. يطبع هل المفتاح مسجّل، وهل يطابق المفتاح المحلي، وهل ثبتت الحيازة، وأي sign bytes تتحقق منها السلسلة، وready_to_relay.- فحص أمان قبل الإرسال. قبل كل معاملة إلى سلسلة هجينة يتحقق QORel من أن المفتاح محمّل ومسجّل ومطابق للمفتاح المحلي، وأن إصدار sign-bytes معروف. ومع
pqc.sign_bytes = 'auto'يقرأ الإصدار من سجلات الترقيات المطبّقة في السلسلة، ويعيد قراءته كل دقيقة، ويعيد قراءته بعد أي رفض بالرمز codespacepqcوالرمز 21. وعند أي إخفاق لا يُرسل شيء ولا يُنفق رسم؛ ويبلّغhealth-checkبالسبب. - سعر الغاز من سوق الرسوم. يقرأ
dynamic_gas_price.backend = 'cosmos-evm-feemarket'الرسم الأساسي في QoreChain، وله حد أدنى 0.1 uqor لكل وحدة غاز. - اكتشاف سوء السلوك على سلاسل ibc-go v10. يقرأ QORel الترويسة من معاملة
MsgUpdateClientلأن ibc-go v10 لم يعد يضمّنها في أحداثupdate_client. ويعطّل Hermes 1.13 الأصلي الاكتشاف على هذه السلاسل. - عمّال الحزم يصمدون أمام تحديد المعدل. يبقى العمّال قيد التشغيل بينما فشلت محاولة ترحيل أو مسح، ويعيدون المحاولة عند كل فترة مسح. وفي Hermes يتوقف العامل أيضًا بعد
clear_interval x 5كتل دون أحداث IBC جديدة حتى لو فشلت آخر جولة مسح، فكانت الحزمة المعلّقة في تلك اللحظة تنتظر الحزمة التالية على القناة أو إعادة التشغيل. - ملفات مفاتيح للمالك وحده. كان Hermes يكتب ملفات المفاتيح بقيمة umask الافتراضية. ويكتب QORel الملفين
<key name>.jsonو<key name>.pqcبصلاحيات 0600. والمفاتيح المضافة بإصدار أقدم من Hermes تحتفظ بصلاحياتها القديمة؛ تحقق منها بالأمرls -l. - ملف تنفيذي
qorel. ملف تنفيذي واحد،qorel، بمجموعة أوامر Hermes مضافًا إليها أوامر المفاتيح ما بعد الكمومية. ويُبنى أيضًا ملف تنفيذيhermesبواجهة الأوامر نفسها من شجرة المصدر. - إصدارات مع إثبات المصدر. أرشيفات لـ Linux وmacOS، وحزم
.debو.rpmمع وحدة systemd مُحصَّنة، وصيغة Homebrew، وصورة حاوية متعددة المعماريات موقّعة بـ cosign. وتأتي ملفات الإصدار معSHA256SUMSوشهادات البناء. راجع التثبيت. - اختبار شبكة تطوير محلية. يتضمن المستودع
scripts/qorel-devnet/، الذي يبني محليًا عقدة QoreChain وسلسلة اختبار ibc-go v10 ويشغّل اختبار ICS-20 شاملًا في الاتجاهين: تسجيل المفتاح، وإنشاء العميل والاتصال والقناة، والتحويلات في الاتجاهين، وفكّ رمز محوَّل، وحزمة منتهية المهلة جرى مسحها واستردادها، وتحويل أرسله QORel نفسه.
جُرّب على شبكة الاختبار
- أول قناة IBC على شبكة اختبار QoreChain، وهي
transfer/channel-0علىqorechain-dianaإلىchannel-600على شبكة اختبار Cosmos Hub العامة (معرّف السلسلةprovider)، يرحّلها QORel. العملاء هما07-tendermint-0و07-tendermint-466، والاتصالانconnection-0وconnection-315. - اختُبرت التحويلات في الاتجاهين (1 QOR صادر، 0.1 ATOM وارد، 0.4 QOR أُعيد) والاسترداد التلقائي لتحويل بمهلة ثانية واحدة عبر رسالة انتهاء مهلة. نجحت جميع معاملات المُرحِّل الثلاث عشرة على
qorechain-diana. - عرض جانب القراءة للقناة في تحويل الأصول.
ليس في هذا الإصدار
- ترحيل IBC v2. وهو غير منفَّذ في QORel بعد، وهو المرحلة التالية.
- ترحيل Ethereum (Eureka). لم يبدأ.
- الترحيل على الشبكة الرئيسية. لا توجد قناة IBC مفتوحة على الشبكة الرئيسية بعد.
- إصدار لـ Windows.
- الحزمة
qorel-signerعلى crates.io. النشر متعذّر؛ والحزمة في المستودع عندcrates/qorel-signer، فاستخدم اعتمادية git.
الترقية
لا يوجد إصدار سابق من QORel. للانتقال من Hermes 1.13 إلى QORel 0.1.0:
- ثبّت
qorelبجانبhermesأو بدلًا منه (التثبيت). - احتفظ بملف
config.tomlلديك. تبقى السلاسل التي ليس فيهاsigningعلى التوقيع القياسي وتتصرف كما كانت. - غيّر اسم الأمر في ملفات الخدمة لديك من
hermesإلىqorel. مجلد مخزن المفاتيح (~/.hermes/keysافتراضيًا) لا يتغير، ولهذا تركّب صورة الحاوية بياناتها عند/home/nonroot/.hermes. - تحقق من صلاحيات ملفات المفاتيح بالأمر
ls -l؛ فالمفاتيح الجديدة 0600، والأقدم تحتفظ بصلاحياتها.
تنطبق ملاحظات ترقية Hermes الأصلية في UPGRADING.md بالمستودع على كل من يأتي من إصدار Hermes أقدم من 1.6.