cryptofoundry

الاتصال بـ cryptofoundry

أخبرنا بما تريد بناءه أو أتمتته.

البريد الإلكتروني
[email protected]
ADAMANT Messenger
فتح في ADAMANT
adamant

ADAMANT Node v0.10.2

al-onyxprotocolمن المسبك ↗

يُعدّ إصدار ADAMANT Node v0.10.2 تحديثاً يركّز على الموثوقية والاسترداد وقدرات واجهة برمجة التطبيقات، ويستهدف مشغّلي العقد والمفوّضين والمستكشفين والرسائل ومطوّري الخدمات. يساعد هذا الإصدار العقدَ على التعافي من المزامنة المتوقفة وعمليات الإيقاف المنقطعة، ويضيف وصولاً أغنى إلى البيانات عبر REST وSocket.IO، ويصحّح تراجعات واجهة برمجة تطبيقات المفوّضين، ويحسّن استعلامات قواعد البيانات الكبيرة، ويحدّث التبعيات وإرشادات المشغّلين. يُنصح بالترقية لتحسين الموثوقية وزمن الاسترداد وصيانة الأمان وقدرات واجهة برمجة التطبيقات، لكنها ليست إلزامية لتوافق الشبكة. لا يُدخل هذا الإصدار أيّ تشعب في الإجماع ولا يغيّر تسلسل الكتل أو المعاملات أو التوقيعات أو ترتيب المفوّضين أو المكافآت أو الرسوم أو ارتفاعات التفعيل أو توقيت الخانات أو إعادة التشغيل الحتمية.

تشمل تحديثات واجهة برمجة التطبيقات واجهة جديدة لأفضل الحسابات مع ترتيب حتمي، وترقيم صفحات، وتصفية isDelegate، وبيانات وصفية للاستجابة، وطلبات عدّ فقط. استُعيدت صحّة ترتيب المفوّضين، وأُصلحت واجهة برمجة تطبيقات مصوّتي المفوّضين لمنع التسرّب إلى جميع الحسابات مع إضافة تصفية قائمة العناوين. تحسّنت رؤية الإجماع من خلال كشف جدول تفعيل الإجماع الفعلي وجدول مراحل مكافأة الكتل الكامل عبر واجهات حالة الحالة. أُضيفت مبالغ تفويض المفوّضين إلى الاستجابات، واستُقرّ إسقاط المفوّض التالي عند حدود الجولات، وتدعم تصفية الكتل بشكل صحيح الاستعلامات ذات المعاملات الصفرية.

تضيف واجهة WebSocket للعميل أحداث newBlock مدمجة اختيارية وأحداث balances/change للرصيد أو الرصيد غير المؤكد أو كليهما. فُهرست اشتراكات الكتل والمعاملات والأرصدة الآن لمنع فحص العملاء غير المعنيين. تُجمع قراءات الحسابات المتأثرة حول تطبيق الكتلة أو التراجع عنها، وتعزل حالات فشل النشر عن تغيير حالة الإجماع. يبقى التسليم بأفضل جهد وبدون متانة، لذا ينبغي للعملاء استعادة الاشتراكات بعد إعادة الاتصال والتوفيق بين الحالة الحرجة عبر REST.

تبقى قواعد البروتوكول والإجماع دون تغيير، رغم أن جدول التفعيل الفعلي والاسم الرمزي للإجماع النشط أصبحا قابلين للملاحظة عبر واجهات الحالة العامة. لا يصحّح إصلاح المفوّض التالي سوى إسقاط واجهة برمجة التطبيقات العامة غير الصحيح سابقاً عند حدود الجولات. لا تتغيّر أيّ قواعد إجماع أو ارتفاعات تفعيل أو بايتات معاملات أو كتل أو معرّفات أو توقيعات أو مكافآت أو رسوم أو تسوية جولات أو سلوك إعادة تشغيل في هذا الإصدار.

تشمل تحسينات الموثوقية والاسترداد مراقب مزامنة يكتشف عمليات المزامنة التي لا تحرز تقدّماً في ارتفاع الكتل لمدّة خمس دقائق، فيُوقف العملية المتوقفة بأمان ويسمح بالاسترداد التلقائي. تُنشر الآن رفضات PostgreSQL عبر التحقّق من الكتل وتحميلها بدلاً من إيقاف سلاسل الاستدعاءات بصمت. أُضيفت نقاط تفتيش لجدول الذاكرة مع ثلاث خانات دوّارة موثّقة بـSHA-256 للحالة المشتقّة. الاسترداد مغلق عند الفشل، فيستعيد فقط نقاط التفتيش التي تجتاز جميع التحققات ويعود إلى إعادة بناء حتمية كاملة عند فشل التحقّق. تبقى الكتل القانونية وإعادة التشغيل الحتمية مصدر الحقيقة.

تشمل تحديثات الأمان تحديث التبعيات ضمن الإصدارات الرئيسية الحالية وإزالة تبعية npm مباشرة غير مستخدمة في وقت التشغيل. أُضيفت تغطية grunt متوافقة وضيّقة لتجاوز js-yaml، مما يقلّل رسم بياني للتبعيات المدقّقة إلى صفر من النتائج المتوسطة أو العالية أو الحرجة. لا تُدخل أيّ تغييرات على التوقيعات أو عبارات الاستذكار أو التحقّق من المعاملات أو مصافحة الأقران أو سلوك البروتوكول التشفيري.

تتميّز تحسينات الشبكة وقاعدة البيانات والأداء بفهرس رصيد جزئي لاستعلامات أفضل الحسابات الحتمية. استُبدل فهرس تجزئة مولّد الكتل بفهرس B-tree مركّب لتجنّب فحص الجداول الكاملة للمولّدات المجهولة. تقلّل اشتراكات Socket.IO المفهرسة وقراءات الحالة النهائية المجمّعة عمليات فحص العملاء غير الضرورية واستعلامات الحسابات، ويمكّن تخزين نقاط التفتيش الدوّار استرداداً أسرع من الحالة المشتقّة غير المتسقة.

بالنسبة لعمليات العقد والأدوات، فُعّلت نقاط تفتيش حالة الذاكرة بشكل افتراضي، مع الحفاظ على إعادة البناء الكاملة كبديل عند نقاط التفتيش غير الصالحة أو القديمة. وُضّح الإيقاف الرشيق، ويتطلّب انتظار انتهاء المعالجة النشطة ورسالة “Cleaned up successfully” قبل إعادة التشغيل. وُثّق مسار إعادة بناء Node ABI الأصلي لـpg-native وlibpq، ويبقى شرط Node.js هو 22.13.0 أو أحدث.

توسّع تحسينات تجربة المطوّر تغطية الاختبارات لاسترداد المزامنة ونقاط التفتيش والحسابات والمفوّضين والكتل وواجهات الحالة وتدفقات Socket.IO. أُعيد تنظيم README، ووُئقت الوثائق المرافقة وتغييرات OpenAPI لواجهات برمجة التطبيقات المحدّثة.

يجب على المشغّلين الذين يرقّون إلى هذا الإصدار استخدام Node.js 22.13.0 أو أحدث ونسخ قاعدة البيانات احتياطياً. أوقفوا العقدة برشاقة وانتظروا رسالة “Cleaned up successfully” قبل نشر v0.10.2. سيتطلّب التشغيل الأول وقتاً إضافياً ومساحة تخزين لإكمال جميع عمليات الترحيل وإنشاء تخزين نقاط التفتيش وبناء الفهارس الجديدة. بعد التشغيل، تحقّقوا من حالة العقدة وتقدّم المزامنة ومعالجة الكتل الحيّة وأي قدرات REST أو Socket.IO التي تستخدمها خدماتكم.

التغييرات غير المتوافقة

لا توجد تغييرات تكسر البروتوكول أو الإجماع أو تنسيق السلك أو عقود واجهة برمجة التطبيقات في v0.10.2. حقول REST الجديدة واشتراكات Socket.IO إضافيّة ومتوافقة مع الإصدارات السابقة. أُزيل مفتاح تكوين topAccounts القديم، وسُجّلت نقطة النهاية GET /api/accounts/top الآن بشكل متسق على كل عقدة. يضيف الإصدار عمليات ترحيل قاعدة بيانات أحادية الاتجاه، مما يعني أن التشغيل الأول بعد الترقية قد يتطلّب وقتاً إضافياً ومساحة تخزين لإنشاء تخزين نقاط التفتيش وفهارس الحسابات والكتل.