تحرك (لغة برمجة)

Move هي لغة برمجة مستخدمة في البداية لبناء بلوكشين ديم. تم إنشاؤه من قبل جمعية ديم ، والتي كانت عبارة عن كونسورتيوم تقني تدعمه Meta.

ما هي لغة البرمجة (Move)؟

تم استخدام لغة برمجة Move في البداية لبناء سلسلة كتل Diem. تم إنشاؤه من قبل جمعية ديم ، والتي كانت عبارة عن كونسورتيوم تقني تدعمه Meta. على الرغم من التخلص من blockchain في النهاية ، إلا أن Move لا يزال قيد الاستخدام حتى اليوم.

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

عند القيام بذلك ، تعمل ميزة Move على زيادة الأمان إلى أقصى حد مع الحفاظ على تصميم انسيابي وتكاليف غاز أقل بكثير من سلاسل الكتل غير المبنية على Move.

كيف تعمل لغة برمجة الحركة؟

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

نظام النوع الثابت الخاص بـ Move هو المكان الذي يجب فيه تعريف المتغيرات كنوع (رقم / كلمة). يحمي الموارد ذات الأولوية. ومع ذلك ، يمكن استخدامها مثل العناصر العادية وتخزينها في هياكل البيانات أو توفيرها كقيم في الحسابات. الموارد أيضًا شفافة في الوحدات النمطية ومخفية عن استدعاؤها من قبل مصادر خارجية.

علاوة على ذلك ، فإن الوحدات النمطية في Move مرنة وآمنة نظرًا لأن العلاقة بين الوحدات النمطية والموارد والإجراءات تشبه العلاقة بين الفئات والكائنات والأساليب في البرمجة الموجهة للكائنات.

يمكن أن يتحقق Move أيضًا من جميع سمات الأمان على السلسلة ويدعم أدوات التحقق الثابت خارج السلسلة. هذا يقلل بشكل كبير من التعقيدات حول التحقق عبر السلسلة. يعتمد تصميمه على ثلاثة قرارات أساسية:
  • يؤدي الافتقار إلى الإرسال الديناميكي إلى تجنب إنشاء الرسم البياني للمكالمات وتمكين التحديد الثابت لموقع الاتصال. يتيح ذلك لـ Move التعرف على تأثيرات استدعاء الإجراء بسهولة أكبر وبدون تعقيدات إضافية.

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

  • أخيرًا ، تسمح قابلية التغيير المحدودة باستخدام أنواع مرجعية مشابهة لـ C ++. تعتبر المراجع حيوية لتغيير كل قيمة نقل ، وعادة ما يتم إنشاء القيم المؤقتة وإتلافها داخل برنامج نصي للنسخ. على غرار Rust ، “استعارة الشيكات” المدقق في Move’s bytecode لتأكيد مرجع واحد قابل للتغيير على الأقل.

أخيرًا ، يرفض Move البرامج التي لا تتبع أمان النوع وأمان الذاكرة وسلامة الموارد. بدلاً من ذلك ، يمكن استخدام لغة برمجة عالية المستوى مع مترجم مسؤول عن التحقق من الخصائص. البديل هو التجميع غير المصمم على مستوى منخفض مع فحوصات السلامة.

كيف تختلف لغة برمجة الحركة؟

تبرز لغة برمجة Move عن لغات برمجة blockchain الأخرى بعدة طرق:

  • ليس لديها حدود في تعريف أنواع البيانات المخصصة من الإجراءات.

  • يدمج سياسات التحكم في الوصول في دلالات اللغة.

  • إنه يلغي نظام النوع الافتراضي للأصول الرقمية (على عكس Bitcoin أو Ethereum).
  • يسمح بإيجاد أصول فردية مع تمثيل في لغة البرمجة. يجب مراجعة الأصول المخصصة من قبل مطوريها لمعرفة خصائص السلامة.

يتيح ذلك لـ Move إنشاء أصول جديدة مع ندرة بسهولة ، دون إجبار المطورين على هندستها بأنفسهم. علاوة على ذلك ، يسمح للمطورين بتعديل وتخصيص التحكم في الوصول ، مما يجعل لغة البرمجة أكثر تنوعًا وقابلية للتوسع من منافسيها.

مكونات لغة برمجة الحركة

تتميز لغة برمجة Move بالعديد من المكونات التي تشكل أساسها.

أنواع

يمكن أن تكون هذه الأعداد الصحيحة المنطقية بدون إشارة (64 بت) ومصفوفات بايت ذات حجم ثابت وأنواع بيانات العنوان (256 بت).

هيكل

نوعان محددان: نوع وغير مقيد. يشير الأول إلى هياكل الموارد والأخير إلى الهياكل العامة.

إجراءات

الطرق التي تكون إما عامة أو داخلية. يساعد الاعتماد على الوحدة النمطية غير الدورية في درء أي هجمات إعادة الدخول.

المدقق Bytecode

يركز على التحقق من سمات السلامة قبل نشر الوحدة. قبل أن يتم بث البرامج مباشرة على الشبكة ، فإنها تمر عبر المدقق وتمرير عدة مراحل للتحقق مثل:

مترجم Bytecode

يتبع التحقق ويشبه Ethereum باستخدام الغاز. وبالتالي ، فإنه يضمن تنفيذ حلقة لا نهائية.

حرك الجهاز الظاهري

على غرار سلاسل الكتل الأخرى ، مع الكتل التي تحتوي على معاملات متعددة ويتم تنفيذ كل معاملة لإنشاء تأثير المعاملة. يولد التأثير الحالة العالمية المحدثة لـ blockchain ، مع الفصل بين التأثيرات وانتقالات الحالة.

ما هي سلاسل الكتل التي تستخدم لغة برمجة الحركة؟

تم استخدام الحركة في بلوكشين Diem المهملة بواسطة Meta. تتضمن blockchain الحالية المبنية على Move سلسلة Aptos blockchain و Sui blockchain.

قد يعجبك ايضاً

فيديو

لا يوجد محتوى

زوارونا يتصفحون الآن

مرحباً بعودتك!

ادخل الى حسابك بالأسفل

استعادة كلمة السر.

رجاءً ادخل اسم المستخدم او بريدك الإلكتروني لإستعادة كلمة السر الخاصة بك.