تخطي إلى المحتوى الرئيسي
Change page

مكتبات واجهات برمجة التطبيقات بلغة جافا سكريبت

آخر تحديث للصفحة: 25 فبراير 2026

لكي يتمكن تطبيق الويب من التفاعل مع بلوكتشين إيثريوم (أي قراءة بيانات البلوكتشين و/أو إرسال المعاملات إلى الشبكة)، يجب أن يتصل بعقدة إيثريوم.

لهذا الغرض، يقوم كل عميل إيثريوم بتنفيذ مواصفات JSON-RPC، لذلك هناك مجموعة موحدة من الأساليب التي يمكن للتطبيقات الاعتماد عليها.

إذا كنت ترغب في استخدام جافا سكريبت للاتصال بعقدة إيثريوم، يمكنك استعمال لغة جافا سكريبت العادية، ولكن تتوفر داخل النظام عدة مكتبات ملائمة تسهّل هذه العملية بشكل كبير. مع هذه المكتبات، بوسع المطورين كتابة طرق ذكية من سطر واحد لتهيئة طلبات JSON RPC (في الخلفية) التي تتفاعل مع إيثريوم.

يرجى ملاحظة أنه منذ الدمج، هناك حاجة إلى جزأين متصلين من برامج إيثريوم - عميل تنفيذ وعميل إجماع - لتشغيل عقدة. يرجى التأكد من أن عقدتك تحتوي على كلٍّ من عميل التنفيذ وعميل الإجماع. إذا لم تكن عقدتك على جهازك المحلي (على سبيل المثال، تعمل عقدتك على مثيل AWS) فقم بتحديث عناوين IP في البرنامج التعليمي وفقًا لذلك. لمزيد من المعلومات، يرجى الاطلاع على صفحتنا حول تشغيل عقدة.

المتطلبات الأساسية

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

ما نفع المكتبة؟

تخفف هذه المكتبات إلى حد كبير من تعقيد التفاعل المباشر مع عقدة إيثريوم. كما أنها توفر وظائف مساعِدة (كتحويل ETH إلى Gwei) تتيح لك كمطوّر قضاء وقت أقل في التعامل مع تعقيدات عملاء إيثريوم والتركيز لوقت أطول على وظيفة تطبيقك الفريدة.

ميزات المكتبة

الاتصال بعقد إيثريوم

تستخدم هذه المكتبات المزودين لتتيح لك بالاتصال بـ إيثريوم وقراءة بياناته، سواء كان ذلك عبر JSON-RPC أو INFURA أو إيثرسكان أو ألكيمي أو ميتاماسك.

تحذير: تمت أرشفة ويب3.جي إس في 4 مارس 2025. اقرأ الإعلان (opens in a new tab). فكر في استخدام مكتبات بديلة مثل ethers.js (opens in a new tab) أو viem (opens in a new tab) للمشاريع الجديدة.

مثال عن Ethers

// يغلف BrowserProvider مزود Web3 قياسي، وهو
// ما يضيفه MetaMask كـ window.ethereum في كل صفحة
const provider = new ethers.BrowserProvider(window.ethereum)

// يسمح المكون الإضافي MetaMask أيضًا بتوقيع المعاملات
// لإرسال الإيثر والدفع لتغيير الحالة داخل البلوكتشين.
// لهذا، نحن بحاجة إلى موقّع الحساب...
const signer = provider.getSigner()

مثال عن Web3js

بعد الانتهاء من الإعداد، يصبح بإمكانك الاستعلام من سلسلة الكتل عن:

  • أرقام الكتلة
  • تقديرات الغاز
  • أحداث العقود الذكية
  • هوية الشبكة
  • وغير ذلك...

وظيفة المحفظة

تمنحك هذه المكتبات الوظائف اللازمة لإنشاء المحافظ وإدارة المفاتيح وتوقيع المعاملات.

إليك أمثلة من Ethers

اقرأ التوثيق الكامل (opens in a new tab)

بعد الانتهاء من الإعداد، يمكنك:

  • إنشاء حسابات
  • إرسال المعاملات
  • توقيع المعاملات
  • وغير ذلك...

التفاعل مع دوال العقود الذكية

تُتيح مكتبات جافا سكريبت لتطبيقك استدعاء وظائف العقود الذكية من خلال قراءة واجهة التطبيق الثنائية (ABI) الخاصة بالعقد بعد عملية ترجمة (Compilation) العقد.

تشرح واجهة التطبيق الثنائية وظائف العقد بصيغة JSON وتتيح لك استخدامه كأي شيء عادي بلغة جافا سكريبت.

لذا فإن عقد سوليديتي التالي:

ينتج JSON التالي:

وهذا يعني أنك تستطيع:

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

الوظائف المساعدة

تمنحك الوظائف المساعِدة اختصارات مفيدة تسهّل بعض الشيء عملية البناء باستخدام إيثريوم.

تأتي قيم ETH بفئة واي بشكل افتراضي. كل ETH واحد يعادل 1,000,000,000,000,000,000,000 WEI - هذا يعني أنك تتعامل مع الكثير من الأرقام! web3.utils.toWei يحول الإيثر إلى Wei من أجلك.

وتبدو القيمة بـether على الشكل التالي:

// احصل على رصيد حساب (عن طريق العنوان أو اسم ENS)
balance = await provider.getBalance("ethers.eth")
// { BigNumber: "2337132817842795605" }

// ستحتاج غالبًا إلى تنسيق المُخرج للمستخدم
// الذي يفضل رؤية القيم بـ ether (بدلاً من wei)
ethers.utils.formatEther(balance)
// '2.337132817842795605'

المكتبات المتاحة

ويب3.جي إس - واجهة برمجة تطبيقات إيثريوم جافا سكريبت.

إيثرز.جي إس - تنفيذ محفظة إيثريوم بالكامل مع الأدوات المساعدة باستخدام جافا سكريبت و تايب سكريبت.

ذا غراف - بروتوكول لفهرسة بيانات إيثريوم و آي بي إف إس والاستعلام عنها باستخدام جراف كيو إل.

ألكيمي SDK - غلاف حول إيثرز.جي إس مع واجهات برمجة تطبيقات محسّنة.

viem - واجهة تايب سكريبت لـ إيثريوم.

Drift - مكتبة تعريفية بلغة تايب سكريبت مع تخزين مؤقت مدمج وخطافات ومحاكاة اختبار.

قراءة إضافية

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

هل كان هذا المقال مفيداً؟