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

لماذا QoreChain RDK

معظم أدوات تطوير الـ Rollup هي اختلافات على النغمة نفسها: فهي تساعدك على إطلاق سلسلة تطبيقات (app-chain) تُسوّى على طبقة أساس. تقوم QoreChain RDK بذلك أيضًا، وتضيف إليه ثلاث قدرات خاصة بـ QoreChain مبنية حول الطبقة الأولى (Layer 1) لـ QoreChain وليس حول الأدوات نفسها:

  • طبقة تسوية مقاومة للحوسبة الكمومية،
  • أساسيات استشارية للذكاء الاصطناعي/التعلم المعزز على السلسلة (QCAI)، و
  • بيئة تشغيل ثلاثية الأجهزة الافتراضية (VM) مع استدعاءات عابرة بين الأجهزة الافتراضية.
مرحلة مبكرة: اقرأ عمود الحالة

لم يُنشأ أي Rollup على أي من الشبكتين حتى الآن. يوضح الجدول أدناه ما يعمل اليوم. إذا كنت تحتاج فقط إلى Rollup تفاؤلي/zk عام، فأي مجموعة أدوات ستفي بالغرض؛ أما القدرات المذكورة هنا فهي ما تضيفه RDK فوق ذلك، بلغات TypeScript وPython وGo وRust وJava.

القدرةالحالةما تعتمد عليه
إيصالات تسوية آمنة كموميًا🟡 مرحلة مبكرةتُوقَّع المراسي بـ ML-DSA-87، مخطط السلسلة الرئيسية ما بعد الكمومي؛ ولا توجد مراسٍ بعد
QCAI Rollup Copilot🟡 غير متاح بعد على نقاط النهاية العامةخدمات استشارية للذكاء الاصطناعي/التعلم المعزز على السلسلة لا تكشفها نقاط النهاية العامة اليوم
استدعاءات عابرة بين أجهزة افتراضية متعددة🟡 غير قابل للاستخدام بعد على الشبكات الحيةعقد مسبق التجميع (precompile) للاستدعاءات العابرة بين الأجهزة الافتراضية غير مفعّل، ورفع CosmWasm مغلق

1. إيصالات تسوية آمنة كموميًا​

🟡 تصميم مبني على طبقة الأساس ما بعد الكمومية في QoreChain. تُوقَّع مراسي التسوية بـ ML-DSA-87 (Dilithium-5, FIPS-204)، وهو المخطط نفسه الذي تستخدمه السلسلة الرئيسية. مرحلة مبكرة: لا توجد مراسٍ على أي من الشبكتين بعد.

عندما يرسّخ منشئ الـ Rollup الخاص بك دفعة تسوية، يُوقَّع المرساة بمفتاح ما بعد كمومي مسجّل على السلسلة. يمكن لـ RDK تغليف هذه المرساة في إيصال قابل للنقل، ويعيد المُتحقِّق قراءة الادعاء من عقدة QoreChain ليتأكد من أن الـ Rollup والدفعة والمرساة ومفتاح المنشئ كلها تطابق ما تحتفظ به السلسلة.

import { createRdkClient, buildSettlementReceipt, verifySettlementReceipt } from "@qorechain/rdk";

const rdk = createRdkClient({ network: "testnet" });
const receipt = await buildSettlementReceipt(rdk, "my-rollup", 42);
const result = await verifySettlementReceipt(receipt, { client: rdk });
console.log(result.valid);

راجع إيصالات التسوية الآمنة كموميًا لمعرفة ما يُثبته الإيصال وما لا يُثبته.


2. QCAI Rollup Copilot​

🟡 غير متاح بعد على نقاط النهاية العامة.

صُمّم الـ Copilot لتجميع الخدمات الاستشارية في الشبكة (وكيل سياسة رسوم، وتوصيات، وتحقيقات احتيال) في عرض واحد للقراءة فقط وبلغة واضحة لـ Rollup واحد. وهو يعمل بمبدأ أفضل جهد ممكن: إذا تعذّر الوصول إلى خدمة، فإنه يتراجع إلى تحذير بدلًا من الفشل. هذه الخدمات غير مكشوفة على نقاط النهاية العامة اليوم، لذلك يعود كل قسم على شكل تحذير.

import { createRdkClient, getRollupAdvice } from "@qorechain/rdk";

const rdk = createRdkClient({ network: "testnet" });
const advice = await getRollupAdvice(rdk, "my-rollup");
console.log(advice.warnings); // services that could not be reached

من واجهة سطر الأوامر: qorollup advise my-rollup. راجع QCAI Copilot.


3. استدعاءات عابرة بين أجهزة افتراضية متعددة​

🟡 غير قابل للاستخدام بعد على الشبكات الحية — الـ precompile غير مفعّل ورفع CosmWasm مغلق. راجع الأجهزة الافتراضية المتعددة.

تتضمن RDK دوال مساعدة تُرمّز استدعاءً من عقد EVM (بلغة Solidity) إلى عقد CosmWasm عبر precompile ثابت على العنوان 0x…0901. هذا الـ precompile غير مفعّل على الشبكة الرئيسية ولا على شبكة الاختبار (راجع عقود EVM المسبقة التجميع: حالة الشبكة).

import { encodeCrossVmCalldata, CROSS_VM_PRECOMPILE } from "@qorechain/rdk";

const calldata = encodeCrossVmCalldata({
contract: "qor1examplecontract…", // target CosmWasm contract
msg: JSON.stringify({ increment: {} }), // its execute message
});

// Send an EVM transaction: to = CROSS_VM_PRECOMPILE, data = calldata
console.log(CROSS_VM_PRECOMPILE); // 0x0000000000000000000000000000000000000901

أو مباشرةً من Solidity على الـ Rollup الخاص بك:

address constant CROSS_VM_PRECOMPILE = 0x0000000000000000000000000000000000000901;

function callCosmWasm(string calldata contractAddr, bytes calldata msg_)
external returns (bytes memory)
{
bytes memory data =
abi.encodeWithSignature("executeCrossVMCall(string,bytes)", contractAddr, msg_);
(bool ok, bytes memory ret) = CROSS_VM_PRECOMPILE.call(data);
require(ok, "cross-VM call failed");
return ret;
}

أنشئ هيكل مشروع للبداية باستخدام npm create qorechain-rollup my-app -- --template multivm-rollup. (EVM↔CosmWasm فقط؛ الاستدعاءات العابرة لـ SVM منفصلة.)


كل ما تتوقعه إضافةً إلى ذلك​

إلى جانب هذه القدرات، تشحن RDK أيضًا الأساسيات المتوقعة: خمسة عملاء لغات منشورون ومُتحقق منهم مقابل متجهات ذهبية مشتركة، وملفات التعريف الخمسة المسبقة الإعداد ومصفوفة التوافق الكاملة، وإدارة دفعات التسوية ودورة الحياة، وتخزين أصلي لتوافر البيانات (راجع ملاحظة حالته)، ومتحدٍّ تلقائي من نوع watchtower للـ Rollups التفاؤلية، وواجهة سطر أوامر المشغّل qorollup.

التالي​