---
title: "مقدمة إلى حزمة إيثيريوم"
description: "جولة تفصيلية في الطبقات المختلفة لحزمة إيثيريوم وكيفية ترابطها معًا."
lang: ar
---

مثل أي حزمة برمجيات، ستختلف "حزمة إيثيريوم" الكاملة من مشروع لآخر بناءً على أهدافك.

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

## المستوى <span dir="ltr">1</span>: آلة إيثيريوم الافتراضية {#ethereum-virtual-machine}

[آلة إيثيريوم الافتراضية (EVM)](/developers/docs/evm/) هي بيئة التشغيل للعقود الذكية على إيثيريوم. يتم تنفيذ جميع العقود الذكية وتغييرات الحالة على سلسلة كتل إيثيريوم بواسطة [المعاملات](/developers/docs/transactions/). تتعامل آلة إيثيريوم الافتراضية مع جميع عمليات معالجة المعاملات على شبكة إيثيريوم.

كما هو الحال مع أي آلة افتراضية، تنشئ آلة إيثيريوم الافتراضية مستوى من التجريد بين الكود البرمجي قيد التنفيذ والآلة المنفذة (عقدة إيثيريوم). حاليًا، تعمل آلة إيثيريوم الافتراضية على آلاف العقد الموزعة في جميع أنحاء العالم.

من الناحية التقنية، تستخدم آلة إيثيريوم الافتراضية مجموعة من تعليمات رموز التشغيل لتنفيذ مهام محددة. تسمح رموز التشغيل هذه (البالغ عددها <span dir="ltr">140</span> رمزًا فريدًا) لآلة إيثيريوم الافتراضية بأن تكون [مكتملة حسب تورنغ (Turing-complete)](https://en.wikipedia.org/wiki/Turing_completeness)، مما يعني أن آلة إيثيريوم الافتراضية قادرة على حساب أي شيء تقريبًا، إذا توفرت لها الموارد الكافية.

بصفتك مطور تطبيقات لامركزية (dapp)، لا تحتاج إلى معرفة الكثير عن آلة إيثيريوم الافتراضية سوى أنها موجودة وأنها تشغل جميع التطبيقات على إيثيريوم بشكل موثوق دون توقف.

## المستوى <span dir="ltr">2</span>: العقود الذكية {#smart-contracts}

[العقود الذكية](/developers/docs/smart-contracts/) هي البرامج القابلة للتنفيذ التي تعمل على سلسلة كتل إيثيريوم.

تُكتب العقود الذكية باستخدام [لغات برمجة](/developers/docs/smart-contracts/languages/) محددة تُترجم إلى رمز البايت الخاص بآلة إيثيريوم الافتراضية (تعليمات آلة منخفضة المستوى تسمى رموز التشغيل).

لا تعمل العقود الذكية كمكتبات مفتوحة المصدر فحسب، بل هي في الأساس خدمات <span dir="ltr">API</span> مفتوحة تعمل دائمًا ولا يمكن إيقافها. توفر العقود الذكية وظائف عامة يمكن للمستخدمين والتطبيقات ([التطبيقات اللامركزية](/developers/docs/dapps/)) التفاعل معها، دون الحاجة إلى إذن. يمكن لأي تطبيق التكامل مع العقود الذكية المنشورة لتركيب الوظائف، مثل إضافة [موجزات البيانات](/developers/docs/oracles/) أو لدعم مبادلة الرموز المميزة. بالإضافة إلى ذلك، يمكن لأي شخص نشر عقود ذكية جديدة على إيثيريوم من أجل إضافة وظائف مخصصة لتلبية احتياجات تطبيقه.

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

## المستوى <span dir="ltr">3</span>: عقد إيثيريوم {#ethereum-nodes}

لكي يتفاعل التطبيق مع سلسلة كتل إيثيريوم، يجب أن يتصل بـ [عقدة إيثيريوم](/developers/docs/nodes-and-clients/). يتيح لك الاتصال بعقدة قراءة بيانات سلسلة الكتل و/أو إرسال المعاملات إلى الشبكة.

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

من خلال ربط تطبيقك بعقدة إيثيريوم (عبر [واجهة برمجة تطبيقات <span dir="ltr">JSON-RPC</span>](/developers/docs/apis/json-rpc/))، يصبح تطبيقك قادرًا على قراءة البيانات من سلسلة الكتل (مثل أرصدة حسابات المستخدمين) بالإضافة إلى بث معاملات جديدة إلى الشبكة (مثل تحويل <span dir="ltr">ETH</span> بين حسابات المستخدمين أو تنفيذ وظائف العقود الذكية).

## المستوى <span dir="ltr">4</span>: واجهات برمجة تطبيقات عميل إيثيريوم {#ethereum-client-apis}

تتيح العديد من المكتبات المساعدة (التي يبنيها ويحافظ عليها مجتمع إيثيريوم مفتوح المصدر) لتطبيقاتك الاتصال والتواصل مع سلسلة كتل إيثيريوم.

إذا كان تطبيقك الموجه للمستخدم هو تطبيق ويب، فيمكنك اختيار `npm install` [واجهة برمجة تطبيقات <span dir="ltr">JavaScript</span>](/developers/docs/apis/javascript/) مباشرة في الواجهة الأمامية الخاصة بك. أو ربما تختار تنفيذ هذه الوظيفة من جانب الخادم، باستخدام واجهة برمجة تطبيقات [<span dir="ltr">Python</span>](/developers/docs/programming-languages/python/) أو [<span dir="ltr">Java</span>](/developers/docs/programming-languages/java/).

على الرغم من أن واجهات برمجة التطبيقات (<span dir="ltr">APIs</span>) هذه ليست جزءًا ضروريًا من الحزمة، إلا أنها تجرد الكثير من تعقيدات التفاعل المباشر مع عقدة إيثيريوم. كما أنها توفر وظائف مساعدة (على سبيل المثال، تحويل <span dir="ltr">ETH</span> إلى <span dir="ltr">Gwei</span>) بحيث يمكنك كمطور قضاء وقت أقل في التعامل مع تعقيدات عملاء إيثيريوم ووقت أطول في التركيز على الوظائف الخاصة بتطبيقك.

## المستوى <span dir="ltr">5</span>: تطبيقات المستخدم النهائي {#end-user-applications}

في المستوى الأعلى من الحزمة توجد التطبيقات الموجهة للمستخدم. هذه هي التطبيقات القياسية التي تستخدمها وتبنيها بانتظام اليوم: في المقام الأول تطبيقات الويب والأجهزة المحمولة.

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

## هل أنت مستعد لاختيار حزمتك؟ {#ready-to-choose-your-stack}

تحقق من دليلنا حول [إعداد بيئة تطوير محلية](/developers/local-environment/) لتطبيق إيثيريوم الخاص بك.

## قراءة إضافية {#further-reading}

- [بنية تطبيق الويب <span dir="ltr">3.0</span>](https://www.preethikasireddy.com/post/the-architecture-of-a-web-3-0-application) - _بريثي كاسيريدي (Preethi Kasireddy)_

_هل تعرف موردًا مجتمعيًا ساعدك؟ قم بتعديل هذه الصفحة وأضفه!_