cryptofoundry

الاتصال بـ cryptofoundry

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

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

ADAMANT Node v0.10.0

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

إصدار عقدة سلسلة كتل ADAMANT v0.10.0 هو إصدار صيانة وقدرات رئيسي للمشغلين والمفوضين ومطوري العميل. يحسّن واجهات برمجة التطبيقات الموجهة للمراسلة، ويضيف نقل الأقران عبر WebSocket، ويقوّي أدوات التشخيص والتثبيت، ويحدّث التبعيات، ويُشدد قبول المعاملات عند الحدود الند للند (P2P). يُشجّع cryptofoundry المفوضين ومشغلي العقد على الترقية لتحسين الموثوقية والأمان والتوافق مع العميلات الأحدث. لا يُدخل هذا الإصدار شوكة توافق إلزامية للشبكات التي تم مزامنتها مسبقًا، حيث تظل سلوك البروتوكول المعتمد على الارتفاع مدفوعًا بالإعدادات وقابلًا للتوافق مع الإصدارات السابقة قبل ارتفاعات التفعيل.

يُقدّم الإصدار حقل timestampMs للمعاملات مع التحقق من التوافق والتعامل مع الاستجابات بشكل مشروط بالتوافق. ويضيف علامة ?returnUnconfirmed=1 للمعاملات والدردشات والحالات وغرف الدردشة، إلى جانب حقول إضافية صريحة للمعاملات غير المؤكدة. يستبدل المعلمة includeDirectTransfers المعلمة القديمة withoutDirectTransfers للدردشات وغرف الدردشة. أصبح الفرز الافتراضي الآن باستخدام timestamp:desc، مع إعطاء أولوية لـ timestampMs في الترتيب القائم على الطابع الزمني. تم إصلاح تحليل الاستعلامات لدعم مرشحات types[] بنمط الأقواس في استعلامات واجهة برمجة التطبيقات للمعاملات. أصبح قبول الطوابع الزمنية السابقة محدودًا بمعاملات الدردشة والحالة، بينما تسمح عمليات التحويل بنافذة أوسع للمحفظة غير المتصلة. تم تعطيل الوصول العام لنقطة نهاية قائمة الحفر (forging list) لأسباب أمنية.

تمت إضافة تهيئة ارتفاعات تفعيل التوافق لـ fairSystem وspaceship مع سلوك معتمد على الارتفاع. تُحفظ قواعد بروتوكول timestampMs، مع الحفاظ على الميلي ثانية الخاصة بعصر ADAMANT، والطابع الزمني المستمد timestamp، واختبارات حدود التفعيل. تستمر السلاسل الحالية بإعادة تشغيل حتمية، على الرغم من أنه يجب على المشغلين الترقية قبل معالم التفعيل المستقبلية.

يُشدّد تأمين قبول الطابع الزمني على مستوى الند للند (P2P) من خلال فرض فحوصات الطوابع الزمنية المستقبلية والماضية التي تستخدمها واجهة API العامة الآن أيضًا على مسار النميمة (gossip) بين الندات، مما يغلق ثغرة تسمح للمعاملات ذات الطوابع المستقبلية البعيدة بالالتفاف على publish() عبر إعادة توجيه الند. تظل مسارات إعادة التشغيل verify() والمزامنة دون تغيير، ولا تُعد مخالفة للتوافق. يتم الآن التعامل مع التحقق الأصلي من Ed25519 عبر sodium-native، وتم تحسين تهيئة الذاكرة المؤقتة (cache) وحدّاد الطلبات.

تشمل تحسينات الشبكة والأداء نقل الأقران عبر WebSocket بين العقد مع تدوير الاتصال وتحديد أولوية الأقران، إلى جانب تسجيل WebSocket المحسّن. تمنع مرونة مزامنة الكتل تراكم الكتل القديمة أثناء المزامنة. تم تطبيق تحسينات على استعلامات SQL الخاصة بغرف الدردشة، وأُعيد كتابة مجموعة المعاملات باستخدام Map مع تحسينات في الإزالة والفهرسة. أصبحت البيانات الوصفية للكتل والمعاملات الآن مخزنة وتُعرض مع الارتفاع وblockTimestamp.

تم تحديث عمليات العقدة وأدواتها من خلال نصوص تثبيت لأنظمة Ubuntu/Debian وCentOS/RHEL 8–10، مع دعم Node.js 22/24/26، ومعالجة PostgreSQL، وتمهيد قائم على wget، وتحسينات في المطالبات والتسجيل. تم تحديث نص fix_node.sh لتدفقات استرداد المشغل. أصبحت تجاوزات التهيئة متاحة الآن عبر واجهة سطر الأوامر (CLI) وملفات JSON مع التحقق من المفاتيح غير الآمنة. تمت إضافة نصوص لـ localnet لأوامر start وstop وstatus وdrop، إلى جانب مشغّل اختبار سيناريوهات حية للـ testnet وlocalnet. تشمل الحزمة مساعدات تمهيد testnet، وصيانة قائمة الأقران الافتراضية، وتعبئة قيم التهيئة المفقودة من config.default.json عند التشغيل. تم توفير وثائق حول الإغلاق اللطيف (graceful shutdown) وسلامة الجداول في الذاكرة.

تشمل تحسينات تجربة المطور التسجيل المنظم مع التدوير، ومستويات ملونة، وتشخيص تقدم المزامنة. تم توسيع إرشادات المساهمة لتشمل سيناريوهات الاختبار الحية والإبلاغ. تم توثيق إرشادات سير العمل للمشرفين والوكلاء. تم تحسين تغطية اختبارات الوحدة وواجهة برمجة التطبيقات، بالإضافة إلى سير عمل اختبار المطور. لم يعد يتم استخدام GitHub Wiki كمصدر للتوثيق، وتمت إزالة خيار التهيئة verifyOnLoading.

يجب على المشغلين ترقية Node.js إلى الإصدار 22.13.0 أو أحدث قبل النشر. يُوصى باستخدام نصوص التثبيت والإصلاح الرسمية من علامة هذا الإصدار. يجب على المشغلين مراجعة config.default.json للحصول على خيارات جديدة مثل wsNode، والتسجيل، وارتفاعات تفعيل التوافق. يجب إيقاف العقد بلطف باستخدام Ctrl+C بدلاً من kill -9. بعد الترقية، يجب على المشغلين التحقق من /api/node/status واتصال الأقران عبر HTTP وWebSocket.

التغييرات المُربكة

لم يعد يتم دعم Node.js 18، مما يتطلب إصدار محرك 22.13.0 أو أحدث. تم إزالة نقاط نهاية HTTP القديمة، بما في ذلك المسارات التي تحمل العبارة السرية، ومساعدات الدردشة غير المستخدمة، و/delegates/fee، و/normalize، ومعالجات التراث ذات الصلة. أصبح الحقل count يُعاد الآن كرقم عبر نقاط النهاية المتأثرة. تم إهمال مرشح withoutDirectTransfers لصالح includeDirectTransfers. تم نقل مكدس التشفير من الـ wrapper sodium إلى الربط الأصلي sodium-native.