Mesmo من Cardano يجلب تطويرا بمساعدة الذكاء الاصطناعي إلى Python وGo وRust وJavaScript
خلال Cardano Developers Office Hours قدّم مهندس البرمجيات المعماري Mateusz Czeladka شرحا مفصلا لكيفية دعم Mesmo لتطوير المعاملات بمساعدة الذكاء الاصطناعي وتقييم Plutus دون اتصال وتنفيذ متعدد اللغات. كما تناول العرض حدود المكتبة التقنية والتحسينات المحتملة.
By SongMarketCap
قدّم كبير مهندسي البرمجيات المعماري في Cardano Foundation Mateusz Czeladka عرضا تقنيا تفصيليا عن Mesmo خلال الجلسة الرابعة والثمانين من Developers Office Hours التي استضافها Fabian Bormann. واستكشف العرض كيف تجعل هذه المكتبة مفتوحة المصدر وظائف تطوير Cardano متاحة عبر عدة لغات برمجة مع تركيز خاص على معالجة المعاملات والتطوير بمساعدة الذكاء الاصطناعي والتكامل مع بنية البلوكشين التحتية.
وتجاوزت المناقشة حدود دعم اللغات الحالي في Mesmo لتفحص كيفية عمل بنيتها وما الذي يمكن للمطورين بناؤه بها وأي القيود التقنية لا تزال قائمة في النسخة المعروضة.
Mesmo يستخدم محرك تنفيذ مشتركا لمعاملات Cardano
تم بناء Mesmo حول Cardano Client Lib وهي مكتبة تطوير برمجيات بلغة Java تُجمّع وظائفها إلى مكتبة أصلية مشتركة باستخدام GraalVM Native Image. وتتيح أغلفة خاصة بكل لغة للتطبيقات المكتوبة بـ Python وGo وRust وJavaScript الوصول إلى ذلك الكود المجمّع عبر واجهة تطبيقات ثنائية قياسية بلغة C ABI.
تتيح هذه البنية للمطورين استخدام عمليات Cardano المدعومة من دون تشغيل آلة Java الافتراضية. كما توفّر وصولا إلى وظائف قد تكون مفقودة في حزمة تطوير البرمجيات الأساسية للتطبيق.
أوضح Czeladka أن هذا النهج نشأ جزئيا بسبب اختلاف جداول الصيانة بين مكتبات Cardano. وخلال النقاش استعاد المشاركون فترة سابقة حين كانت مكتبة Apollo المبنية على Go تفتقر إلى دعم معاملات Plutus V3 مما استلزم تعديلات معمارية في التطبيقات التي تعتمد عليها.
وبدلا من استبدال الأدوات الراسخة مثل MeshJS وPyCardano وPallas وApollo يوفّر Mesmo الوصول إلى وظائف مختارة من تنفيذ مشترك.
تشمل قدراته إدارة المحافظ والعناوين وتوقيع المعاملات وعمليات staking والبرامج النصية الأصلية ومعاملات حوكمة Cardano. وتمتد وظائف الحوكمة إلى عمليات متخصصة تتضمن تصويت Constitutional Committee وإجراءات أخرى تتجاوز تفويض DRep القياسي.
أحد المكونات المحورية هو TX Plan الذي يصف المعاملات عبر بيانات YAML منظمة. وبدلا من بناء كل عملية من خلال سلسلة من أساليب خاصة بكل لغة يقدّم المطورون تعريفا للمعاملة يقوم Mesmo بتفسيره ومعالجته.
يسمح هذا النموذج للتطبيقات المكتوبة بلغات مختلفة بالوصول إلى المنطق نفسه الكامن وراء المعاملة مع الاحتفاظ بالتحكم في البنية التحتية المحيطة بها.
يمكن لوكلاء الترميز بالذكاء الاصطناعي العمل مع معاملات Cardano المهيكلة
أحد المحاور التي تناولها العرض كان توافق Mesmo مع تطوير البرمجيات بمساعدة الذكاء الاصطناعي.
يوفّر المشروع حزمة بدء خاصة بالذكاء الاصطناعي تحتوي على معلومات حول واجهات برمجته. ويمكن للمطورين تزويد أدوات الترميز بالذكاء الاصطناعي بهذه المواد لمساعدتها على فهم الوظائف المتاحة والمدخلات المتوقعة وعمليات المعاملات المدعومة.
يوفّر TX Plan واجهة منظمة لسير العمل هذا. ويمكن لوكيل ترميز بالذكاء الاصطناعي توليد تعريف معاملة بصيغة YAML يمكن للتطبيق تمريره إلى Mesmo لبناء المعاملة.
وتبقى التفرقة بين توليد المعاملة وتنفيذها على البلوكشين مهمة.
لا يتصل Mesmo بشكل مستقل بعُقد Cardano ولا يسترجع معلومات على السلسلة ولا يبث المعاملات. فهذه المسؤوليات تقع على عاتق التطبيق الذي يدمج المكتبة.
على سبيل المثال يمكن لتطبيق ما الحصول على UTXOs المتاحة ومعلمات البروتوكول من مزوّد بيانات بلوكشين مدعوم ثم يمرر تلك المدخلات إلى Mesmo ويتلقى بيانات معاملة مُسلسلة. وبعد التوقيع يقدّم التطبيق المعاملة عبر خدمة الشبكة التي يختارها.
وصف Czeladka التنفيذ الأساسي بأنه حتميا وعديم الحالة أي إن المدخلات نفسها تعطي النتائج نفسها من دون أن تغيّر المكتبة بصورة مستقلة حالة البلوكشين الخارجية.
وتناول العرض أيضا تقييم Plutus دون اتصال. يضم Mesmo مُقيّما مضمّنا من Scalus يمكنه حساب وحدات الذاكرة ووحدات تنفيذ المعالج المطلوبة لمعاملات العقود الذكية المدعومة. ويمكن للمطورين دمج مقيمين بديلين عبر الواجهة المتاحة.
يتيح هذا الترتيب أن يتم بناء المعاملة وتقييم النصوص البرمجية محليا من دون الحاجة إلى طلب شبكة منفصل لعملية التقييم ذاتها.
يتبع التعامل مع الحسابات الفصل نفسه في المسؤوليات. فيمكن لكائن الحساب الاحتفاظ بالمواد المفتاحية اللازمة لتوليد العناوين وتوقيع المعاملات مما يتجنب نقل العبارات التذكيرية بشكل متكرر بين وظائف التطبيق.
إلا أن استخدام مكتبات أصلية يطرح اعتبارات لإدارة الذاكرة. وقد ناقش المشاركون كيفية تحرير الموارد عبر الحد الفاصل بين لغة البرمجة المضيفة والكود الأصلي ولا سيما عندما تكون مواد تشفير حساسة متضمنة.
[NEWSBREAK]
قيود ما قبل الإصدار وإمكانية دعم WebAssembly
حدّد العرض عدة قيود عملية في تنفيذ Mesmo.
يعتمد دعم JavaScript في النسخة المعروضة على بيئة التشغيل Bun. ولا يُدعم Node.js بسبب صعوبات تتعلق بواجهة الدوال الأجنبية الخاصة به.
قيد آخر هو حجم المكتبة المجمّعة البالغ نحو 60 MB. ووصف Czeladka ذلك بأنه مقايضة محتملة لتطبيقات على جانب الخادم وعقبة أكبر في البيئات ذات المتطلبات الصارمة لحجم الحزم.
كما تتطلب الحزم الأصلية إنشاءات متوافقة لأنظمة تشغيل مختلفة وبنى معالجات متعددة. ودعم تلك التركيبات يضيف عملا صيانيا مع توسع المشروع.
ناقش Czeladka WebAssembly كبديل محتمل مستقبلا. فقد توفر قدرات WebAssembly قيد التطوير في GraalVM في نهاية المطاف هدف تنفيذ أكثر قابلية للنقل مما يقلل الحاجة إلى توزيع ملفات ثنائية أصلية منفصلة عبر منصات متعددة. ولم يحدد العرض تاريخ إصدار أو يؤكد جاهزية إنتاجية لهذا النهج.
تشمل إمكانيات التطوير الأخرى عمليات تكامل إضافية مع مزوّدي بيانات البلوكشين وبناة معاملات خاصة بكل لغة وتحسينا في التعامل مع الأخطاء ودعما أوسع للتوقيع والبيانات الوصفية المرتبطة بالعقود.
يستخدم التنفيذ المعروض TX Plan بوصفه واجهة البناء الأساسية للمعاملات. ويمكن تطوير أساليب برمجة أكثر تقليدية فوق المحرك المشترك إذا دعم طلب المجتمع ذلك العمل.
يتضمن Mesmo أيضا سجلات قرارات معمارية وتوثيقا مفتوح المصدر يهدف إلى مساعدة المساهمين على فهم التنفيذ وتوسيعه.
يسعى الفريق للحصول على آراء المطورين الذين يختبرون الأغلفة اللغوية المتاحة ووظائف المعاملات. ويمكن أن تشمل المساهمات مزوّدي بيانات بلوكشين جددا وتحسينات في إدارة الموارد ودعما للعمليات المفقودة.
في التنفيذ الذي عُرض خلال Developers Office Hours يوفّر Mesmo بناء المعاملات والتوقيع وتقييما محليا لـ Plutus عبر مكتبته الأصلية المشتركة بينما تظل التطبيقات مسؤولة عن الوصول إلى الشبكة وتقديم المعاملات المكتملة.