ما هو Ethers.js؟ استكشاف عميق في مكتبة JavaScript لـ Ethereum

مبتدئ3/18/2024, 8:47:39 AM
إثيريوم هو بروتوكول بلوكشين معروف بأدواته وعقوده الذكية والبيئة المتمايزة من حيث الشفرة، مع الاعتماد الشديد على ethers.js (مكتبة JavaScript) لتوفير القوة اللازمة لنهجه الموجه نحو المطورين.

إذا كنت تستهدف ايثر (ETH) على حساب لاعبي العملات الرقمية الأخرى، يجب أن تأخذ لحظة لفهم إيثيريوم من منظور تقني أكثر. بروتوكول بلوكشين معروف بأدواته وعقوده الذكية والبيئة المتوافقة مع الكود، يعتمد إيثيريوم بشكل كبير على ethers.js - مكتبة Javascript - لتمنح نهجه الموجه نحو المطورين الفعالية المطلوبة.

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

في هذا الدليل:

  1. فك تشفير ethers.js
  2. لماذا ethers.js مهم؟
  3. شرح جميع إصدارات إيثرز.js
  4. البدء مع ethers.js
  5. ميزات النواة
  6. كيف يمكن للمنشورات الخاصة بالعملات المشفرة الاستفادة من Ethers.js
  7. تطبيقات العالم الحقيقي لEthers.js
  8. اعتبارات الأمان
  9. ايثرز.جي.اس: أداة متعددة الاستخدامات
  10. الأسئلة المتكررة

فك تشفير ethers.js

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

Ethers.js ودورة التطوير: BeInCrypto

هنا هو GitHubمستودعللمكتبة.

ما هي مكتبات جافا سكريبت؟

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

لماذا نحتاج إلى مكتبات JavaScript في إثيريوم؟

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

هل تعلم؟ ليس Ethers.js الهو الوحيد المعروف من مكتبة Ethereum Javascript. واحدة بارزة أخرى هي Web3.js، التي تأسست من قبل مؤسسة Ethereum. Web3.js معروفة بمجموعتها الشاملة من الوثائق وتستخدم لتطبيقات الويب اللامركزية الأكثر تعقيداً.

لماذا يعتبر ethers.js مهمًا؟

كما ذكر سابقًا، تستهدف ethers.js المطورين الذين يتفاعلون مع سلسلة كتل Ethereum. أما بالنسبة للأهمية، فإن هذه المكتبة التي طورها ريتشارد مور، والتي تسوق تحت اسم 'Ethers'، مفيدة للوظائف التالية:

  1. تبسيط عدة معاملات إثيريوم
  2. يوفر الوصول إلى وثائق شاملة وموارد
  3. تيسير تطوير DApp


نظام Ethers.js والأدوار التي يمكن أن يتولاها: BeInCrypto

إليك مثال سريع على مقتطف الكود المستخدم لاحتساب الرصيد الحالي لحساب إثيريوم. دعنا نقرأ الكود أولاً ونفهم كيف يجعل ethers.js الحياة أسهل:

const { ethers } = require(‘ethers’);

// الاتصال بشبكة إثيريوم

const provider = مزود جديد ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY’;

// حدد عنوان الحساب

const accountAddress = ‘0xABC123…’;

// جلب وعرض الرصيد

provider.getBalance(accountAddress).then((balance) => {

// تحويل الرصيد من Wei إلى Etherconst balanceInEther = ethers.utils.formatEther(balance);console.log(`الرصيد: ${balanceInEther} ايثر`);

});

في هذا المثال، يمكنك رؤية بوضوح كيف يقوم الأمر — ethers.providers.JsonRpcProvider — باستدعاء نقطة نهاية Infura، ويقوم getBalance بجلب الرصيد. لا يلزمك التعامل مباشرة مع JSON RPC لـ Ethereum أو الاستدعاء الإجرائي عن بُعد. في هذه الحالة، يمكنك التفكير في ethers.js كمترجم يجعل Ethereum أكثر سهولة وإلمامًا بالنسبة لك.

لا تزال غير متأكد من أهمية ethers.js؟ إليك تشبيه سريع.

فكر في ethers.js كبطاقة مكتبة قديمة. تذكر تلك البطاقات كانت تحتوي على فهرس، مما يسمح لك بالعثور على الكتاب المناسب عن طريق تحديد الممر ثم رقم الرف؟ هذا ما تهدف إليه ethers.js. إنها تبسط وتنظم قدرات إثيريوم الهائلة، مما يتيح للمطورين العثور بدقة على ما يحتاجون إليه.

https://twitter.com/wondernw/status/1764751034096800009?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1764751034096800009%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

جميع إصدارات Ethers.js مشروحة

على مر السنين، ظهرت عدة إصدارات من Ethers.js، حيث يقدم كل إصدار ميزة جديدة أو إصلاحًا لخطأ. أيضًا، يتبع الإصدار الترقيم القياسي، مثل v1.2.3، حيث يدل الرقم الأول على الإصدار الرئيسي والرقمان الثاني والثالث يدلان على الإصدار الفرعي والإصلاح. سننظر فقط إلى ترقيات الإصدار الرئيسي الآن - التغييرات التي قد لا تكون متوافقة مع الإصدارات السابقة.

  1. الإصدار 1.x (التراث): كانت هذه الإصدارة الأولية، تلتها ميزات تتعلق بتوقيع المعاملات وإدارة المحافظ وغيرها.
  2. الإصدار 2.x (محفظة إيثرز): مركزة على الأدوات والميزات الخاصة بالمحفظة، بما في ذلك التخزين الآمن لالمفاتيح الخاصة.
  3. الإصدار 3.x (موفرات إيثر): قام بتقديم تجريدات للاتصال بعقد إيثيريوم. تم استيعاب أنواع مختلفة من اللاعبين، بما في ذلك Infura، WebSockets، وغيرها.
  4. الإصدار 4.x (عقود إيثر): تم توسيع خصائص العقد الذكي، مع المزيد من الأدوات لترميز وفك ترميز البيانات، وتصفية الأحداث، والمزيد.
  5. الإصدار 5.x: يقدم بنية معمارية قابلة للتوسيع، ودعم محسن لENS, إدارة الأخطاء الشاملة، والمزيد.
  6. الإصدار 6.x: تضمين ميزات ES6، ومقدمة BigInt، وإمكانية التحميل الزائد، وال المزيد.


تركيب ومكونات Ethers.js: BeInCrypto

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

يمكنك العثور على المزيد من التفاصيل حول كل إصدار عن طريق عرض Ethers.js’وثائق أصلية.

يتألق Ethers.js بتوافقه المتفوق مع سلسلة الكتل، ودعم TypeScript الأصلي، وأدوات التصحيح المتقدمة. إنه مكتبة نحيفة وفعالة تتكامل بسلاسة مع الأطر الشهيرة مثل React، Vue، Angular إلخ.

ريدبيلي إنترن، بيلدر: X

البدء مع ethers.js

قبل أن تخطط لتسخير إمكانات ethers.js، من الضروري معرفة في أي مرحلة من تطوير DApp أو عقد ذكي يتم استدعاؤه. إليك تفكيك سريع لأولئك الذين يحتاجون إلى معرفة وفهم هذه العناصر من البداية.

"Web3.js مفيد للمبتدئين وأكثر اختصاراً من ethers.js."

ومن ناحية أخرى، يوفر Ethers.js المزيد من الخيارات وهو جديد؛ إنه أكثر تعقيدًا قليلاً من Web3.js.

degenBRo, مطور بلوكشين ومؤسس شركة Solidity Finance: كما قيل لـ BeInCrypto

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

فيما يتعلق بـ IDE ، الذي يحتاجه مطور البرمجيات للاختبار ، يمكنك النظر في VS Code ، Sublime Text ، أو أي شيء آخر.

https://twitter.com/juniorrbn_dev/status/1765370597066862749?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370597066862749%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

تثبيت دعم ethers.js

الخطوة التالية هي تثبيت ايثرز، المكتبة المضيفة ل ethers.js.

تثبيت برنامج تشغيل ethers

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

/ذات صلة

المزيد من المقالات

إثيريوم ETF Explained: What It Is and How It Works

14 دقيقة 15 مارس 2024 قبل 3 أيام

كيفية الحصول على الدفع بالبيتكوين (BTC): كل ما تحتاج إلى معرفته

25 دقيقة 15 مارس 2024 قبل يومين

const { ethers } = require(‘ethers’);

// الاتصال بال ميتاماسكمحفظة

const provider = new ethers.providers.Web3Provider(window.ethereum);

عند الانتهاء، يمكنك استخدام IDE لكتابة كود الصلابة وإنشاء عقود ذكية لتطبيقات DApps. سيتم استخدام Ethers.js لنشر الشيء نفسه. يمكنك حتى اختبار DApp أو العقد محليًا، باستخدام بيئات مثل ترافلوHardhat. ثمّ تنشر العقود على شبكة إثيريوم، وهناك حاجة إلى ethers.js.

const contract = new ethers.ContractFactory(abi, bytecode, signer);

const deployedContract = await contract.deploy();

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

ايثرز.js للواجهة الأمامية

بمجرد نشر العقد الذكي، تحتاج إلى بناء واجهة المستخدم أو الواجهة الأمامية لـ DApp. يمكنك استخدام Angular أو React لهذا الغرض. يمكنك حتى دمج Ethers.js داخل الواجهة الأمامية لضمان أنه يمكنه التفاعل مع العقود الذكية على إثيريوم. فيما يلي الشيفرة المصدرية لنفسها:

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());

بعد ذلك، تحتاج إلى اختبار تطبيق DApp على شبكة اختبار، مثل Rinkeby أو Ropsten. بمجرد أن تكون سعيدًا، يمكنك إطلاق تطبيق DApp على الشبكة الرئيسية. لاحظ كم مرة خلال العملية تحتاج إلى التفاعل مع Ethers أو ethers.js.

الميزات الأساسية

يبدو Ethers.js كمكتبة إثيريوم شاملة. فيما يلي بعض العروض الحصرية التي يمكن أن تجعل حياة المطورين أسهل:

مزودي الخدمة

مزودو Ethers.js يعملون كجسور بين شبكة Ethereum وتطبيق DApp الذي تعمل عليه. يشمل ذلك تبسيط استعلامات بيانات البلوكشين وأيضًا يساعد في بث المعاملات. إنفورا هو واحد من المزودين التي يستخدمها Ethers.js.

هنا هو رمز العينة لنفسها:

const { ethers } = require(‘ethers’);

// الاتصال باستخدام إنفورا

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’;

// تحقق من رقم الكتلة الحالي

provider.getBlockNumber().then((blockNumber) => {

console.log(“رقم الكتلة الحالي:”, blockNumber);

});

محافظ

Ethers.js تتيح لك إدارة المحافظ، مما يسمح لك بإنشاء حسابات جديدة، استيراد حسابات موجودة، إدارة مفاتيح خاصة بشكل آمن لتوقيع المعاملات، والقيام بالمزيد.

عقود

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

يدعم هذا المكون من وجود Ethers.js إنشاء الكائنات. يجعل من الأسهل استدعاء وظائف العقد المحددة، تشبه أكثر طرق جافا سكريبت الأصلية.


ايثيرز.js وتفاعل العقد الذكي: BeInCrypto

تكامل ENS

يمكن لـ Ethers.js حل أسماء ENS إلى عناوينها في إثيريوم والعكس. تقلل هذه الميزة من مخاطر الأخطاء.

ها هي مقتطفات من الرمز التالي:

const { ethers } = require(‘ethers’);

موفر الخدمة = موفر الـ ethers.providers.JsonRpcProvider الجديد('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

const ensName = ‘alice.eth’;

provider.resolveName(ensName).then((address) => {

console.log(`${ensName} تم حلها إلى ${address}`);

});

بالإضافة إلى الميزات المذكورة، يعتبر Ethers.js أيضًا بالجوانب أو الميزات التالية، مما يساعد المطورين على الوصول المباشر إلى إثيريوم بشكل محدد:

  1. الموقعون
  2. الخدمات العامة
  3. مستمعو الأحداث والمرشحون (يقصد بهم تنشيط استجابات فورية لإجراءات سلسلة الكتل)
  4. المعاملات
  5. دعم المكالمات المتعددة
  6. دعم TypeScript (مقصود لتحسين موثوقية الشيفرة وتجربة المطور العامة)

مجموعة من المزايا في استخدام Ethers.js:

https://twitter.com/juniorrbn_dev/status/1765370617937736000?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370617937736000%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

كيف يمكن للنشرات الخاصة بالعملات الرقمية الاستفادة من Ethers.js

يمكن للنشرات الإعلامية مثل BeInCrypto الاستفادة من Ethers.js لإنشاء أدوات web3 متقدمة ومواردية من البداية. بهذه الطريقة، يصبح من الممكن استخدام ميزات تعتمد على سلسلة الكتل أو بالأحرى على إثيريوم لتعزيز قابلية الاستخدام. فيما يلي الخيارات التي يمكن للشخص النظر فيها:

تغذية البيانات

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

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’؛

provider.getBlockNumber().then((blockNumber) => {

console.log(“رقم الكتلة الحالي:”, blockNumber); // قم بدمج هذه البيانات في منصة نشرك للحصول على تغذية بيانات في الوقت الحقيقي

});

محتوى تفاعلي

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

هنا عينة من كود المقتطف لاسترداد تحية محددة للمعلمة من عقد ذكي:

const { ethers } = require(‘ethers’);

const provider = مزود جديد ethers.providers.Web3Provider(window.ethereum);

const contractAddress = ‘0x…’;

const contractABI = [

"function getGreeting() view returns (string)"

const contract = new ethers.Contract(contractAddress, contractABI, provider);

الوظيفة الغير متزامنة عرض التحية() {

const greeting = await contract.getGreeting();document.getElementById(‘greeting’).innerText = greeting;

}

افتح حسابًا على كوكوين واحصل على مكافأة مضمونة تصل إلى 700 USDT.

  1. ابدأ رحلتك في تداول العملات المشفرة مع كوكوين واحصل على بداية موفقة!
  2. تداول بثقة على كوكوين! تولي منصتنا أمانك أولوية، مقدمة حماية من الطبقة الأولى لأصولك الرقمية.
  3. استكشف عالم العملات الرقمية الواسع مع كوكوين!

سجل الآن!

مثال على العالم الحقيقي على كيفية نشر إيثرز.جي.إس

https://twitter.com/ronakpal1/status/1767071343345095092?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1767071343345095092%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

النشر اللامركزي

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

هنا عينة من الرمز حيث يتم تخزين هاش المقال على الإنترنت كدليل على النشر:

const { ethers } = require(‘ethers’);

const wallet = new ethers.Wallet(‘YOUR_PRIVATE_KEY’, provider);

const contentHash = ethers.utils.id("محتوى المقال هنا");

const tx = await wallet.sendTransaction({

to: '0xSomeStorageContractAddress',data: contentHash // مع افتراض قبول العقد وتخزين هذه البيانات

});

console.log(“هاش تراكشن (دليل النشر):”, tx.hash);

هذه ليست سوى عدد قليل من حالات الاستخدام للنشر الإعلامي. ولكن هناك قطاعات أخرى يمكن أن تستفيد من قوة ethers.js. وتشمل هذه:

  1. مطورو سلسلة الكتل (المتوقع)
  2. محللون ماليون يعملون مع ديفايمقاييس
  3. مطورو الألعاب
  4. مبدعي المحتوى
  5. مديري سلسلة التوريد

والمزيد.

تطبيقات العالم الحقيقي لإيثرز.js

بالإضافة إلى كونها مفيدة فيديفاي, ومشاريع الألعاب و NFT ، هناك عدد قليل من DApps الحالية التي تدعم استخدام Ethers.js. تشمل هذه التالي:

  1. يتفاعل Ether.js مع عقود Uniswap الذكية الأساسية لتنفيذ الصفقات وإضافة السيولة، وحتى الاستعلام عن إحصائيات المجمع. في هذه الحالة، يخطط مطورو DApp لبناء أدوات تتفاعل مع Uniswap، مثل الروبوتات التداول، وأدوات إدارة المحافظ، والمزيد.
  2. Aave: يمكن لمطوري DApp والأطراف الأخرى المهتمة الاستفادة من وظائف Ether.js للتفاعل مع عقود ذكية محددة لـ Aave. بهذه الطريقة ، يمكنهم تجهيز الواجهة الأمامية لاقتراض الأصول وإيداع الضمان والقيام بالمزيد.

تكسير بعض أساطير Ethers.js:

https://twitter.com/imashuttoshh/status/1765558806291894739?refsrc=twsrc٪5Etfw٪7Ctwcamp٪5Etweetembed٪7Ctwterm٪5E1765558806291894739٪7Ctwgr٪5Ec1f906e08013316a8e26d4dc6736b846d7473e55٪7Ctwcon٪5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

اعتبارات الأمان

استخدام Ethers.js يأتي مع مجموعة واسعة جدًا منأمانالاعتبارات. إليك بعض النصائح للمتابعة:

  1. من المستحسن عدم تضمين مفاتيح خاصة داخل قاعدة الشفرة الخاصة بتطبيقك.
  2. يجب أن تسبق كل تفاعل مع العقد الذكي اختبارات مكثفة وتدقيق شامل للعقود.
  3. عندما تتفاعل مع العقود الذكية، استخدم أنماط آمنة مثل "استدعاء" للمهام القابلة للقراءة فقط.
  4. لتحسين استخدام ethers.js، قد ترغب في النظر في دفع الطلبات. هنا يمكنك دفع، على سبيل المثال، الطلبات القابلة للقراءة لتقليل عدد مكالمات الشبكة. من الواضح أن هذه التقنيات البحتة يمكن أن تجعل التطبيق قابلاً للتوسيع بشكل كبير وفعال من حيث التكلفة.

ها هو مثال على كيف يعمل:

// رمز زائف لدُفع دفعات مكالمات العقد مع Ethers.js (مثال مفهومي)

const contract = new ethers.Contract(address, abi, provider);

const [القيمة1، القيمة2، القيمة3] = انتظر Promise.all([

contract.viewFunction1(),contract.viewFunction2(),contract.viewFunction3()

];

Ethers.js: أداة متعددة الاستخدامات

مُدَعَّم

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

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

الأسئلة المتكررة

كيف يمكن للمطورين استخدام أحداث Ethers.js؟

ما هي الأدوات الرئيسية التي يقدمها Ethers.js؟

ما هي العلاقة بين Ethers.js و Web3.js؟

تنصيح:

  1. تم نقل هذه المقالة من [Gatebeincrypto], جميع حقوق الطبع والنشر تنتمي إلى الكاتب الأصلي [أناندا بانيرجي]. إذا كانت هناك اعتراضات على هذا النشر المكرر، يرجى التواصل معبوابة تعلمفريق، وسوف يتولى التعامل معها بسرعة.
  2. تنصل المسؤولية: الآراء والآراء المعبر عنها في هذه المقالة هي فقط تلك التي للكاتب ولا تشكل أي نصيحة استثمارية.
  3. يتم إجراء ترجمات المقال إلى لغات أخرى من قبل فريق Gate Learn. ما لم يُذكر غير ذلك، فإن نسخ أو توزيع أو نسخ المقالات المترجمة ممنوع.

ما هو Ethers.js؟ استكشاف عميق في مكتبة JavaScript لـ Ethereum

مبتدئ3/18/2024, 8:47:39 AM
إثيريوم هو بروتوكول بلوكشين معروف بأدواته وعقوده الذكية والبيئة المتمايزة من حيث الشفرة، مع الاعتماد الشديد على ethers.js (مكتبة JavaScript) لتوفير القوة اللازمة لنهجه الموجه نحو المطورين.

إذا كنت تستهدف ايثر (ETH) على حساب لاعبي العملات الرقمية الأخرى، يجب أن تأخذ لحظة لفهم إيثيريوم من منظور تقني أكثر. بروتوكول بلوكشين معروف بأدواته وعقوده الذكية والبيئة المتوافقة مع الكود، يعتمد إيثيريوم بشكل كبير على ethers.js - مكتبة Javascript - لتمنح نهجه الموجه نحو المطورين الفعالية المطلوبة.

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

في هذا الدليل:

  1. فك تشفير ethers.js
  2. لماذا ethers.js مهم؟
  3. شرح جميع إصدارات إيثرز.js
  4. البدء مع ethers.js
  5. ميزات النواة
  6. كيف يمكن للمنشورات الخاصة بالعملات المشفرة الاستفادة من Ethers.js
  7. تطبيقات العالم الحقيقي لEthers.js
  8. اعتبارات الأمان
  9. ايثرز.جي.اس: أداة متعددة الاستخدامات
  10. الأسئلة المتكررة

فك تشفير ethers.js

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

Ethers.js ودورة التطوير: BeInCrypto

هنا هو GitHubمستودعللمكتبة.

ما هي مكتبات جافا سكريبت؟

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

لماذا نحتاج إلى مكتبات JavaScript في إثيريوم؟

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

هل تعلم؟ ليس Ethers.js الهو الوحيد المعروف من مكتبة Ethereum Javascript. واحدة بارزة أخرى هي Web3.js، التي تأسست من قبل مؤسسة Ethereum. Web3.js معروفة بمجموعتها الشاملة من الوثائق وتستخدم لتطبيقات الويب اللامركزية الأكثر تعقيداً.

لماذا يعتبر ethers.js مهمًا؟

كما ذكر سابقًا، تستهدف ethers.js المطورين الذين يتفاعلون مع سلسلة كتل Ethereum. أما بالنسبة للأهمية، فإن هذه المكتبة التي طورها ريتشارد مور، والتي تسوق تحت اسم 'Ethers'، مفيدة للوظائف التالية:

  1. تبسيط عدة معاملات إثيريوم
  2. يوفر الوصول إلى وثائق شاملة وموارد
  3. تيسير تطوير DApp


نظام Ethers.js والأدوار التي يمكن أن يتولاها: BeInCrypto

إليك مثال سريع على مقتطف الكود المستخدم لاحتساب الرصيد الحالي لحساب إثيريوم. دعنا نقرأ الكود أولاً ونفهم كيف يجعل ethers.js الحياة أسهل:

const { ethers } = require(‘ethers’);

// الاتصال بشبكة إثيريوم

const provider = مزود جديد ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_API_KEY’;

// حدد عنوان الحساب

const accountAddress = ‘0xABC123…’;

// جلب وعرض الرصيد

provider.getBalance(accountAddress).then((balance) => {

// تحويل الرصيد من Wei إلى Etherconst balanceInEther = ethers.utils.formatEther(balance);console.log(`الرصيد: ${balanceInEther} ايثر`);

});

في هذا المثال، يمكنك رؤية بوضوح كيف يقوم الأمر — ethers.providers.JsonRpcProvider — باستدعاء نقطة نهاية Infura، ويقوم getBalance بجلب الرصيد. لا يلزمك التعامل مباشرة مع JSON RPC لـ Ethereum أو الاستدعاء الإجرائي عن بُعد. في هذه الحالة، يمكنك التفكير في ethers.js كمترجم يجعل Ethereum أكثر سهولة وإلمامًا بالنسبة لك.

لا تزال غير متأكد من أهمية ethers.js؟ إليك تشبيه سريع.

فكر في ethers.js كبطاقة مكتبة قديمة. تذكر تلك البطاقات كانت تحتوي على فهرس، مما يسمح لك بالعثور على الكتاب المناسب عن طريق تحديد الممر ثم رقم الرف؟ هذا ما تهدف إليه ethers.js. إنها تبسط وتنظم قدرات إثيريوم الهائلة، مما يتيح للمطورين العثور بدقة على ما يحتاجون إليه.

https://twitter.com/wondernw/status/1764751034096800009?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1764751034096800009%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

جميع إصدارات Ethers.js مشروحة

على مر السنين، ظهرت عدة إصدارات من Ethers.js، حيث يقدم كل إصدار ميزة جديدة أو إصلاحًا لخطأ. أيضًا، يتبع الإصدار الترقيم القياسي، مثل v1.2.3، حيث يدل الرقم الأول على الإصدار الرئيسي والرقمان الثاني والثالث يدلان على الإصدار الفرعي والإصلاح. سننظر فقط إلى ترقيات الإصدار الرئيسي الآن - التغييرات التي قد لا تكون متوافقة مع الإصدارات السابقة.

  1. الإصدار 1.x (التراث): كانت هذه الإصدارة الأولية، تلتها ميزات تتعلق بتوقيع المعاملات وإدارة المحافظ وغيرها.
  2. الإصدار 2.x (محفظة إيثرز): مركزة على الأدوات والميزات الخاصة بالمحفظة، بما في ذلك التخزين الآمن لالمفاتيح الخاصة.
  3. الإصدار 3.x (موفرات إيثر): قام بتقديم تجريدات للاتصال بعقد إيثيريوم. تم استيعاب أنواع مختلفة من اللاعبين، بما في ذلك Infura، WebSockets، وغيرها.
  4. الإصدار 4.x (عقود إيثر): تم توسيع خصائص العقد الذكي، مع المزيد من الأدوات لترميز وفك ترميز البيانات، وتصفية الأحداث، والمزيد.
  5. الإصدار 5.x: يقدم بنية معمارية قابلة للتوسيع، ودعم محسن لENS, إدارة الأخطاء الشاملة، والمزيد.
  6. الإصدار 6.x: تضمين ميزات ES6، ومقدمة BigInt، وإمكانية التحميل الزائد، وال المزيد.


تركيب ومكونات Ethers.js: BeInCrypto

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

يمكنك العثور على المزيد من التفاصيل حول كل إصدار عن طريق عرض Ethers.js’وثائق أصلية.

يتألق Ethers.js بتوافقه المتفوق مع سلسلة الكتل، ودعم TypeScript الأصلي، وأدوات التصحيح المتقدمة. إنه مكتبة نحيفة وفعالة تتكامل بسلاسة مع الأطر الشهيرة مثل React، Vue، Angular إلخ.

ريدبيلي إنترن، بيلدر: X

البدء مع ethers.js

قبل أن تخطط لتسخير إمكانات ethers.js، من الضروري معرفة في أي مرحلة من تطوير DApp أو عقد ذكي يتم استدعاؤه. إليك تفكيك سريع لأولئك الذين يحتاجون إلى معرفة وفهم هذه العناصر من البداية.

"Web3.js مفيد للمبتدئين وأكثر اختصاراً من ethers.js."

ومن ناحية أخرى، يوفر Ethers.js المزيد من الخيارات وهو جديد؛ إنه أكثر تعقيدًا قليلاً من Web3.js.

degenBRo, مطور بلوكشين ومؤسس شركة Solidity Finance: كما قيل لـ BeInCrypto

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

فيما يتعلق بـ IDE ، الذي يحتاجه مطور البرمجيات للاختبار ، يمكنك النظر في VS Code ، Sublime Text ، أو أي شيء آخر.

https://twitter.com/juniorrbn_dev/status/1765370597066862749?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370597066862749%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

تثبيت دعم ethers.js

الخطوة التالية هي تثبيت ايثرز، المكتبة المضيفة ل ethers.js.

تثبيت برنامج تشغيل ethers

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

/ذات صلة

المزيد من المقالات

إثيريوم ETF Explained: What It Is and How It Works

14 دقيقة 15 مارس 2024 قبل 3 أيام

كيفية الحصول على الدفع بالبيتكوين (BTC): كل ما تحتاج إلى معرفته

25 دقيقة 15 مارس 2024 قبل يومين

const { ethers } = require(‘ethers’);

// الاتصال بال ميتاماسكمحفظة

const provider = new ethers.providers.Web3Provider(window.ethereum);

عند الانتهاء، يمكنك استخدام IDE لكتابة كود الصلابة وإنشاء عقود ذكية لتطبيقات DApps. سيتم استخدام Ethers.js لنشر الشيء نفسه. يمكنك حتى اختبار DApp أو العقد محليًا، باستخدام بيئات مثل ترافلوHardhat. ثمّ تنشر العقود على شبكة إثيريوم، وهناك حاجة إلى ethers.js.

const contract = new ethers.ContractFactory(abi, bytecode, signer);

const deployedContract = await contract.deploy();

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

ايثرز.js للواجهة الأمامية

بمجرد نشر العقد الذكي، تحتاج إلى بناء واجهة المستخدم أو الواجهة الأمامية لـ DApp. يمكنك استخدام Angular أو React لهذا الغرض. يمكنك حتى دمج Ethers.js داخل الواجهة الأمامية لضمان أنه يمكنه التفاعل مع العقود الذكية على إثيريوم. فيما يلي الشيفرة المصدرية لنفسها:

const provider = new ethers.providers.Web3Provider(window.ethereum);

const contract = new ethers.Contract(contractAddress, contractABI, provider.getSigner());

بعد ذلك، تحتاج إلى اختبار تطبيق DApp على شبكة اختبار، مثل Rinkeby أو Ropsten. بمجرد أن تكون سعيدًا، يمكنك إطلاق تطبيق DApp على الشبكة الرئيسية. لاحظ كم مرة خلال العملية تحتاج إلى التفاعل مع Ethers أو ethers.js.

الميزات الأساسية

يبدو Ethers.js كمكتبة إثيريوم شاملة. فيما يلي بعض العروض الحصرية التي يمكن أن تجعل حياة المطورين أسهل:

مزودي الخدمة

مزودو Ethers.js يعملون كجسور بين شبكة Ethereum وتطبيق DApp الذي تعمل عليه. يشمل ذلك تبسيط استعلامات بيانات البلوكشين وأيضًا يساعد في بث المعاملات. إنفورا هو واحد من المزودين التي يستخدمها Ethers.js.

هنا هو رمز العينة لنفسها:

const { ethers } = require(‘ethers’);

// الاتصال باستخدام إنفورا

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’;

// تحقق من رقم الكتلة الحالي

provider.getBlockNumber().then((blockNumber) => {

console.log(“رقم الكتلة الحالي:”, blockNumber);

});

محافظ

Ethers.js تتيح لك إدارة المحافظ، مما يسمح لك بإنشاء حسابات جديدة، استيراد حسابات موجودة، إدارة مفاتيح خاصة بشكل آمن لتوقيع المعاملات، والقيام بالمزيد.

عقود

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

يدعم هذا المكون من وجود Ethers.js إنشاء الكائنات. يجعل من الأسهل استدعاء وظائف العقد المحددة، تشبه أكثر طرق جافا سكريبت الأصلية.


ايثيرز.js وتفاعل العقد الذكي: BeInCrypto

تكامل ENS

يمكن لـ Ethers.js حل أسماء ENS إلى عناوينها في إثيريوم والعكس. تقلل هذه الميزة من مخاطر الأخطاء.

ها هي مقتطفات من الرمز التالي:

const { ethers } = require(‘ethers’);

موفر الخدمة = موفر الـ ethers.providers.JsonRpcProvider الجديد('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’);

const ensName = ‘alice.eth’;

provider.resolveName(ensName).then((address) => {

console.log(`${ensName} تم حلها إلى ${address}`);

});

بالإضافة إلى الميزات المذكورة، يعتبر Ethers.js أيضًا بالجوانب أو الميزات التالية، مما يساعد المطورين على الوصول المباشر إلى إثيريوم بشكل محدد:

  1. الموقعون
  2. الخدمات العامة
  3. مستمعو الأحداث والمرشحون (يقصد بهم تنشيط استجابات فورية لإجراءات سلسلة الكتل)
  4. المعاملات
  5. دعم المكالمات المتعددة
  6. دعم TypeScript (مقصود لتحسين موثوقية الشيفرة وتجربة المطور العامة)

مجموعة من المزايا في استخدام Ethers.js:

https://twitter.com/juniorrbn_dev/status/1765370617937736000?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1765370617937736000%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

كيف يمكن للنشرات الخاصة بالعملات الرقمية الاستفادة من Ethers.js

يمكن للنشرات الإعلامية مثل BeInCrypto الاستفادة من Ethers.js لإنشاء أدوات web3 متقدمة ومواردية من البداية. بهذه الطريقة، يصبح من الممكن استخدام ميزات تعتمد على سلسلة الكتل أو بالأحرى على إثيريوم لتعزيز قابلية الاستخدام. فيما يلي الخيارات التي يمكن للشخص النظر فيها:

تغذية البيانات

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

const { ethers } = require(‘ethers’);

const provider = new ethers.providers.JsonRpcProvider('https://mainnet.infura.io/v3/YOUR_INFURA_PROJECT_ID’؛

provider.getBlockNumber().then((blockNumber) => {

console.log(“رقم الكتلة الحالي:”, blockNumber); // قم بدمج هذه البيانات في منصة نشرك للحصول على تغذية بيانات في الوقت الحقيقي

});

محتوى تفاعلي

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

هنا عينة من كود المقتطف لاسترداد تحية محددة للمعلمة من عقد ذكي:

const { ethers } = require(‘ethers’);

const provider = مزود جديد ethers.providers.Web3Provider(window.ethereum);

const contractAddress = ‘0x…’;

const contractABI = [

"function getGreeting() view returns (string)"

const contract = new ethers.Contract(contractAddress, contractABI, provider);

الوظيفة الغير متزامنة عرض التحية() {

const greeting = await contract.getGreeting();document.getElementById(‘greeting’).innerText = greeting;

}

افتح حسابًا على كوكوين واحصل على مكافأة مضمونة تصل إلى 700 USDT.

  1. ابدأ رحلتك في تداول العملات المشفرة مع كوكوين واحصل على بداية موفقة!
  2. تداول بثقة على كوكوين! تولي منصتنا أمانك أولوية، مقدمة حماية من الطبقة الأولى لأصولك الرقمية.
  3. استكشف عالم العملات الرقمية الواسع مع كوكوين!

سجل الآن!

مثال على العالم الحقيقي على كيفية نشر إيثرز.جي.إس

https://twitter.com/ronakpal1/status/1767071343345095092?ref_src=twsrc%5Etfw%7Ctwcamp%5Etweetembed%7Ctwterm%5E1767071343345095092%7Ctwgr%5Ec1f906e08013316a8e26d4dc6736b846d7473e55%7Ctwcon%5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

النشر اللامركزي

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

هنا عينة من الرمز حيث يتم تخزين هاش المقال على الإنترنت كدليل على النشر:

const { ethers } = require(‘ethers’);

const wallet = new ethers.Wallet(‘YOUR_PRIVATE_KEY’, provider);

const contentHash = ethers.utils.id("محتوى المقال هنا");

const tx = await wallet.sendTransaction({

to: '0xSomeStorageContractAddress',data: contentHash // مع افتراض قبول العقد وتخزين هذه البيانات

});

console.log(“هاش تراكشن (دليل النشر):”, tx.hash);

هذه ليست سوى عدد قليل من حالات الاستخدام للنشر الإعلامي. ولكن هناك قطاعات أخرى يمكن أن تستفيد من قوة ethers.js. وتشمل هذه:

  1. مطورو سلسلة الكتل (المتوقع)
  2. محللون ماليون يعملون مع ديفايمقاييس
  3. مطورو الألعاب
  4. مبدعي المحتوى
  5. مديري سلسلة التوريد

والمزيد.

تطبيقات العالم الحقيقي لإيثرز.js

بالإضافة إلى كونها مفيدة فيديفاي, ومشاريع الألعاب و NFT ، هناك عدد قليل من DApps الحالية التي تدعم استخدام Ethers.js. تشمل هذه التالي:

  1. يتفاعل Ether.js مع عقود Uniswap الذكية الأساسية لتنفيذ الصفقات وإضافة السيولة، وحتى الاستعلام عن إحصائيات المجمع. في هذه الحالة، يخطط مطورو DApp لبناء أدوات تتفاعل مع Uniswap، مثل الروبوتات التداول، وأدوات إدارة المحافظ، والمزيد.
  2. Aave: يمكن لمطوري DApp والأطراف الأخرى المهتمة الاستفادة من وظائف Ether.js للتفاعل مع عقود ذكية محددة لـ Aave. بهذه الطريقة ، يمكنهم تجهيز الواجهة الأمامية لاقتراض الأصول وإيداع الضمان والقيام بالمزيد.

تكسير بعض أساطير Ethers.js:

https://twitter.com/imashuttoshh/status/1765558806291894739?refsrc=twsrc٪5Etfw٪7Ctwcamp٪5Etweetembed٪7Ctwterm٪5E1765558806291894739٪7Ctwgr٪5Ec1f906e08013316a8e26d4dc6736b846d7473e55٪7Ctwcon٪5Es1&ref_url=https%3A%2F%2Fbeincrypto.com%2Flearn%2Fethers-js-explained%2F

اعتبارات الأمان

استخدام Ethers.js يأتي مع مجموعة واسعة جدًا منأمانالاعتبارات. إليك بعض النصائح للمتابعة:

  1. من المستحسن عدم تضمين مفاتيح خاصة داخل قاعدة الشفرة الخاصة بتطبيقك.
  2. يجب أن تسبق كل تفاعل مع العقد الذكي اختبارات مكثفة وتدقيق شامل للعقود.
  3. عندما تتفاعل مع العقود الذكية، استخدم أنماط آمنة مثل "استدعاء" للمهام القابلة للقراءة فقط.
  4. لتحسين استخدام ethers.js، قد ترغب في النظر في دفع الطلبات. هنا يمكنك دفع، على سبيل المثال، الطلبات القابلة للقراءة لتقليل عدد مكالمات الشبكة. من الواضح أن هذه التقنيات البحتة يمكن أن تجعل التطبيق قابلاً للتوسيع بشكل كبير وفعال من حيث التكلفة.

ها هو مثال على كيف يعمل:

// رمز زائف لدُفع دفعات مكالمات العقد مع Ethers.js (مثال مفهومي)

const contract = new ethers.Contract(address, abi, provider);

const [القيمة1، القيمة2، القيمة3] = انتظر Promise.all([

contract.viewFunction1(),contract.viewFunction2(),contract.viewFunction3()

];

Ethers.js: أداة متعددة الاستخدامات

مُدَعَّم

https://harambetoken.ai/?domain=beincrypto&banner=header-banner-3&cpid=1ce31526-203f-4d6a-bf00-af77d6cf6edd

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

الأسئلة المتكررة

كيف يمكن للمطورين استخدام أحداث Ethers.js؟

ما هي الأدوات الرئيسية التي يقدمها Ethers.js؟

ما هي العلاقة بين Ethers.js و Web3.js؟

تنصيح:

  1. تم نقل هذه المقالة من [Gatebeincrypto], جميع حقوق الطبع والنشر تنتمي إلى الكاتب الأصلي [أناندا بانيرجي]. إذا كانت هناك اعتراضات على هذا النشر المكرر، يرجى التواصل معبوابة تعلمفريق، وسوف يتولى التعامل معها بسرعة.
  2. تنصل المسؤولية: الآراء والآراء المعبر عنها في هذه المقالة هي فقط تلك التي للكاتب ولا تشكل أي نصيحة استثمارية.
  3. يتم إجراء ترجمات المقال إلى لغات أخرى من قبل فريق Gate Learn. ما لم يُذكر غير ذلك، فإن نسخ أو توزيع أو نسخ المقالات المترجمة ممنوع.
Comece agora
Registe-se e ganhe um cupão de
100 USD
!