cryptofoundry

الاتصال بـ cryptofoundry

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

البريد الإلكتروني
[email protected]
ADAMANT Messenger
فتح في ADAMANT
ADM Nodes, Delegates & Pools

ADAMANT Node v0.10.2: تعافٍ أكثر أماناً، وواجهات برمجة أغنى، واستعلامات أسرع

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

يركّز الإصدار v0.10.2 من ADAMANT Node على حيوية العقدة، والتعافي الأسرع، والتعامل الأكثر أماناً مع أعطال قاعدة البيانات، وواجهات برمجة أغنى للمراقبة، واشتراكات عملاء أكثر كفاءة. الترقية موصى بها لكنها ليست إلزامية للتوافق مع الشبكة: لا يحتوي هذا الإصدار على أي تفرّع في الإجماع ولا يغيّر تسلسل الكتل أو المعاملات، ولا التوقيعات، ولا ترتيب المندوبين، ولا المكافآت، ولا الرسوم، ولا ارتفاعات التفعيل، ولا توقيت الفترات الزمنية، ولا إعادة التشغيل الحتمية.

تعافي المزامنة

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

نقاط التفتيش المحفوظة

يحتفظ ADAMANT بالحالة المشتقّة من الإجماع في جداول mem_*. إذا انقطعت العملية أثناء تحديث هذه الجداول المرآتية، فيجب على العقدة إعادة بنائها من الكتل القانونية. يُضيف الإصدار v0.10.2 ثلاث خانات نقاط تفتيش دوّارة لحالة الذاكرة المشتقّة. تُسجّل كل نقطة تفتيش ارتفاع الكتلة/معرّفها، والجولة، وnethash، وإصدار المخطط، والحالة، وملخّص SHA-256 القانوني. لا يقبل بدء التشغيل سوى نقاط التفتيش التي تجتاز بياناتها الوصفية وملخّصها ومرجع السلسلة والشبكة وثوابت الحالة التحقّق. تُستعاد نقطة التفتيش الصالحة ويُعاد تشغيل الكتل اللاحقة فقط؛ وأي فشل في التحقّق أو في إعادة التشغيل الجزئي يعود إلى إعادة البناء الحتمي الكامل الحالي. لا تُحفظ جداول التقاطع غير المؤكّدة في نقاط التفتيش وتُعاد بناؤها من الحالة المؤكّدة. تظلّ الكتل القانونية وإعادة التشغيل الحتمية مصدر الحقيقة — ونقطة التفتيش ليست سوى ذاكرة تخزين مؤقت للتعافي المحلي ولا يمكنها إعادة تعريف حالة السلسلة.

تحسينات واجهة REST البرمجية

أصبح GET /api/accounts/top متاحاً بشكل متّسق على كل عقدة، ويوفّر ترتيباً حتمياً balance DESC, address ASC، وترقيماً، وفلتر isDelegate، وبيانات وصفية للعدد، وطلبات عدّ فقط عبر limit=0.

أُصلحت عدة أخطاء في واجهات المندوبين البرمجية. يُبلغ GET /api/delegates/get مجدداً عن الترتيب/المعدل الحقيقي للمندوب وإنتاجية الغرباء الصحيحة. لم يعد GET /api/delegates/voters يفقد فلتر العناوين ويُعيد جميع الحسابات. يستخدم GET /api/delegates/getNextForgers ارتفاع الكتلة التالي عند حدود الجولات ويُبلغ عن خطأ تحميل مستقر قبل وجود رأس السلسلة.

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

يُراعي GET /api/blocks الآن numberOfTransactions=0. يمنع فهرس B-tree مركّب جديد على (text_generatorPublicKey, height DESC) مسار التصفية المكلف للجدول بالكامل عند وجود مولّد غير معروف مع الترتيب الافتراضي. لم يتغيّر عقد الاستجابة. على قواعد البيانات الكبيرة، ينبغي للمشغّلين تخصيص وقت ومساحة قرص لهجرة الفهرس عند أول بدء تشغيل.

أحداث الكتل والأرصدة عبر Socket.IO

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

صيانة التبعيات والتدقيق

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

ملاحظات للمشغّلين

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

المراجع