مقدمة إلى حزمة إيثيريوم
مثل أي حزمة برمجيات، ستختلف "حزمة إيثيريوم" الكاملة من مشروع لآخر بناءً على أهدافك.
ومع ذلك، هناك مكونات أساسية في إيثيريوم تساعد في توفير نموذج ذهني لكيفية تفاعل التطبيقات البرمجية مع سلسلة كتل إيثيريوم. سيساعدك فهم طبقات الحزمة على فهم الطرق المختلفة التي يمكن من خلالها دمج إيثيريوم في المشاريع البرمجية.
المستوى 1: آلة إيثيريوم الافتراضية
آلة إيثيريوم الافتراضية (EVM) هي بيئة التشغيل للعقود الذكية على إيثيريوم. يتم تنفيذ جميع العقود الذكية وتغييرات الحالة على سلسلة كتل إيثيريوم بواسطة المعاملات. تتعامل آلة إيثيريوم الافتراضية مع جميع عمليات معالجة المعاملات على شبكة إيثيريوم.
كما هو الحال مع أي آلة افتراضية، تنشئ آلة إيثيريوم الافتراضية مستوى من التجريد بين الكود البرمجي قيد التنفيذ والآلة المنفذة (عقدة إيثيريوم). حاليًا، تعمل آلة إيثيريوم الافتراضية على آلاف العقد الموزعة في جميع أنحاء العالم.
من الناحية التقنية، تستخدم آلة إيثيريوم الافتراضية مجموعة من تعليمات رموز التشغيل لتنفيذ مهام محددة. تسمح رموز التشغيل هذه (البالغ عددها 140 رمزًا فريدًا) لآلة إيثيريوم الافتراضية بأن تكون مكتملة حسب تورنغ (Turing-complete) (opens in a new tab)، مما يعني أن آلة إيثيريوم الافتراضية قادرة على حساب أي شيء تقريبًا، إذا توفرت لها الموارد الكافية.
بصفتك مطور تطبيقات لامركزية (dapp)، لا تحتاج إلى معرفة الكثير عن آلة إيثيريوم الافتراضية سوى أنها موجودة وأنها تشغل جميع التطبيقات على إيثيريوم بشكل موثوق دون توقف.
المستوى 2: العقود الذكية
العقود الذكية هي البرامج القابلة للتنفيذ التي تعمل على سلسلة كتل إيثيريوم.
تُكتب العقود الذكية باستخدام لغات برمجة محددة تُترجم إلى رمز البايت الخاص بآلة إيثيريوم الافتراضية (تعليمات آلة منخفضة المستوى تسمى رموز التشغيل).
لا تعمل العقود الذكية كمكتبات مفتوحة المصدر فحسب، بل هي في الأساس خدمات API مفتوحة تعمل دائمًا ولا يمكن إيقافها. توفر العقود الذكية وظائف عامة يمكن للمستخدمين والتطبيقات (التطبيقات اللامركزية) التفاعل معها، دون الحاجة إلى إذن. يمكن لأي تطبيق التكامل مع العقود الذكية المنشورة لتركيب الوظائف، مثل إضافة موجزات البيانات أو لدعم مبادلة الرموز المميزة. بالإضافة إلى ذلك، يمكن لأي شخص نشر عقود ذكية جديدة على إيثيريوم من أجل إضافة وظائف مخصصة لتلبية احتياجات تطبيقه.
بصفتك مطور تطبيقات لامركزية، ستحتاج إلى كتابة عقود ذكية فقط إذا كنت ترغب في إضافة وظائف مخصصة على سلسلة كتل إيثيريوم. قد تجد أنه يمكنك تحقيق معظم أو كل احتياجات مشروعك بمجرد التكامل مع العقود الذكية الحالية، على سبيل المثال إذا كنت ترغب في دعم المدفوعات بالعملات المستقرة أو تمكين التبادل اللامركزي للرموز المميزة.
المستوى 3: عقد إيثيريوم
لكي يتفاعل التطبيق مع سلسلة كتل إيثيريوم، يجب أن يتصل بـ عقدة إيثيريوم. يتيح لك الاتصال بعقدة قراءة بيانات سلسلة الكتل و/أو إرسال المعاملات إلى الشبكة.
عقد إيثيريوم هي أجهزة كمبيوتر تقوم بتشغيل برمجيات - عميل إيثيريوم. العميل هو تطبيق لإيثيريوم يتحقق من جميع المعاملات في كل كتلة، مما يحافظ على أمان الشبكة ودقة البيانات. عقد إيثيريوم هي سلسلة كتل إيثيريوم. فهي تخزن بشكل جماعي حالة سلسلة كتل إيثيريوم وتصل إلى إجماع على المعاملات لتغيير حالة سلسلة الكتل.
من خلال ربط تطبيقك بعقدة إيثيريوم (عبر واجهة برمجة تطبيقات JSON-RPC)، يصبح تطبيقك قادرًا على قراءة البيانات من سلسلة الكتل (مثل أرصدة حسابات المستخدمين) بالإضافة إلى بث معاملات جديدة إلى الشبكة (مثل تحويل ETH بين حسابات المستخدمين أو تنفيذ وظائف العقود الذكية).
المستوى 4: واجهات برمجة تطبيقات عميل إيثيريوم
تتيح العديد من المكتبات المساعدة (التي يبنيها ويحافظ عليها مجتمع إيثيريوم مفتوح المصدر) لتطبيقاتك الاتصال والتواصل مع سلسلة كتل إيثيريوم.
إذا كان تطبيقك الموجه للمستخدم هو تطبيق ويب، فيمكنك اختيار npm install واجهة برمجة تطبيقات JavaScript مباشرة في الواجهة الأمامية الخاصة بك. أو ربما تختار تنفيذ هذه الوظيفة من جانب الخادم، باستخدام واجهة برمجة تطبيقات Python أو Java.
على الرغم من أن واجهات برمجة التطبيقات (APIs) هذه ليست جزءًا ضروريًا من الحزمة، إلا أنها تجرد الكثير من تعقيدات التفاعل المباشر مع عقدة إيثيريوم. كما أنها توفر وظائف مساعدة (على سبيل المثال، تحويل ETH إلى Gwei) بحيث يمكنك كمطور قضاء وقت أقل في التعامل مع تعقيدات عملاء إيثيريوم ووقت أطول في التركيز على الوظائف الخاصة بتطبيقك.
المستوى 5: تطبيقات المستخدم النهائي
في المستوى الأعلى من الحزمة توجد التطبيقات الموجهة للمستخدم. هذه هي التطبيقات القياسية التي تستخدمها وتبنيها بانتظام اليوم: في المقام الأول تطبيقات الويب والأجهزة المحمولة.
تظل الطريقة التي تطور بها واجهات المستخدم هذه دون تغيير أساسي. في كثير من الأحيان لن يحتاج المستخدمون إلى معرفة أن التطبيق الذي يستخدمونه مبني باستخدام سلسلة الكتل.
هل أنت مستعد لاختيار حزمتك؟
تحقق من دليلنا حول إعداد بيئة تطوير محلية لتطبيق إيثيريوم الخاص بك.
قراءة إضافية
- بنية تطبيق الويب 3.0 (opens in a new tab) - بريثي كاسيريدي (Preethi Kasireddy)
هل تعرف موردًا مجتمعيًا ساعدك؟ قم بتعديل هذه الصفحة وأضفه!