الدرس رقم 4

تحسين كفاءة التعليمات البرمجية باستخدام المعدلات

تعد المعدلات في Solidity ميزة قوية تسمح لنا بتضمين الفحوصات الأولية في وظائفنا، مما يؤدي إلى كود أكثر قابلية للقراءة وفعالية.

تقديم المعدلات

دعونا ننفذ معدلًا في عقد Marketplace الخاص بنا. سنقوم بتعريف مُعدِّل OnlySeller ، والذي سيتحقق مما إذا كان المتصل بالوظيفة هو بالفعل بائع السلعة.

في ما يلي عقد Marketplace الخاص بنا المحدث باستخدام مُعدِّل OnlySeller:

صلابة
//معرف ترخيص SPDX: معهد ماساتشوستس للتكنولوجيا
صلابة البراغما ^0.8.6؛

سوق العقود {
 //تحديد هيكل جديد للعناصر
 عنصر الهيكل {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    //مصفوفة لاستيعاب جميع العناصر
 البند [] البنود العامة؛

 //معدِّل يتحقق مما إذا كان المتصل هو بائع السلعة
 المعدِّل فقط البائع (uint _itemID) {
        require(msg.sender == items[_itemId].seller, "Only the owner can execute this");
        _;
    }

    //وظيفة لإزالة عنصر من البيع، محدثة بمعدّل «OnlySeller»
 وظيفة إزالة عنصر من البيع (uint _itemID) للبائع العام فقط (_itemID) {
        items[_itemId].forSale = false;
    }

    //وظيفة لتحديث سعر السلعة، تم تحديثها باستخدام مُعدِّل «OnlySeller»
 وظيفة تحديث سعر السلعة (uint _itemID، uint _new price) للعامة فقط للبائع (_itemID) {
        items[_itemId].price = _newPrice;
    }
}

مع وجود مُعدِّل OnlySeller ، جعلنا وظائف RemoveItemFromSale و UpdateItemPrice أكثر كفاءة وقابلية للقراءة.

نشر العقد المحسّن والتفاعل معه

بعد تحسين عقد Marketplace ، اتبع نفس الخطوات كما في الدروس السابقة لتجميعه ونشره.

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

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

الاستنتاج

تهانينا! لقد وصلت إلى نهاية دورة المبتدئين هذه حول تطوير العقود الذكية باستخدام Solidity. على مدار أربعة دروس، استكشفنا إنشاء العقود الذكية ونشرها والتفاعل معها في بيئة محاكاة لإيثريوم، باستخدام Remix IDE.

دعونا نلخص ما حققناه:

  • الدرس 1: قدم أساسيات إيثريوم وبلوكتشين والعقود الذكية. قمنا بتطوير أول عقد ذكي بسيط لنا، Item.sol، والذي حدد عنصرًا واحدًا يمكن شراؤه أو بيعه.
  • الدرس 2: قمنا بتوسيع عقدنا الأولي لإنشاء عقد Marketplace.sol ، والذي سمح بإنشاء وإدراج وشراء عناصر متعددة.
  • الدرس 3: أضفنا المزيد من الوظائف إلى سوقنا من خلال تقديم طرق لإزالة العناصر من البيع وتحديث سعر السلعة.
  • الدرس 4: قمنا بتحسين إمكانية قراءة وكفاءة عقدنا الذكي من خلال تطبيق ميزة Solidity المسماة «المعدّلات». لقد تعلمنا كيفية جعل الكود الخاص بنا أكثر بساطة وأمانًا.
    خلال هذه الرحلة، لم تكتسب أساسًا متينًا في Solidity وتطوير العقود الذكية فحسب، بل اتخذت أيضًا خطواتك الأولى نحو أن تصبح مطورًا لـ blockchain. لقد تعلمت كيفية التفكير في التطبيقات اللامركزية وتذوق الإمكانات المبتكرة لتقنية blockchain.

من الآن فصاعدًا، هناك العديد من المسارات التي يمكنك استكشافها. يمكنك الغوص بشكل أعمق في Solidity والتعرف على المزيد من الميزات المتقدمة واعتبارات الأمان. يمكنك استكشاف منصات بلوكشين أخرى مثل بولكادوت أو كاردانو أو سلسلة Binance الذكية. بدلاً من ذلك، قد ترغب في التعرف على تطوير الواجهة الأمامية لـ dApps باستخدام Web3.js أو Ethers.js، أو حول نشر العقود الخاصة بك على شبكة Ethereum الفعلية.

مهما كان المسار الذي تختاره، تذكر دائمًا: التعلم الأكثر فعالية هو بالممارسة. لذلك، لا تخف من التجربة والبناء والكسر وإعادة البناء. كل تحد تواجهه هو فرصة للتعلم والنمو.

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

ترميز سعيد!

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
الكتالوج
الدرس رقم 4

تحسين كفاءة التعليمات البرمجية باستخدام المعدلات

تعد المعدلات في Solidity ميزة قوية تسمح لنا بتضمين الفحوصات الأولية في وظائفنا، مما يؤدي إلى كود أكثر قابلية للقراءة وفعالية.

تقديم المعدلات

دعونا ننفذ معدلًا في عقد Marketplace الخاص بنا. سنقوم بتعريف مُعدِّل OnlySeller ، والذي سيتحقق مما إذا كان المتصل بالوظيفة هو بالفعل بائع السلعة.

في ما يلي عقد Marketplace الخاص بنا المحدث باستخدام مُعدِّل OnlySeller:

صلابة
//معرف ترخيص SPDX: معهد ماساتشوستس للتكنولوجيا
صلابة البراغما ^0.8.6؛

سوق العقود {
 //تحديد هيكل جديد للعناصر
 عنصر الهيكل {
        string name;
        uint price;
        address payable seller;
        bool forSale;
    }

    //مصفوفة لاستيعاب جميع العناصر
 البند [] البنود العامة؛

 //معدِّل يتحقق مما إذا كان المتصل هو بائع السلعة
 المعدِّل فقط البائع (uint _itemID) {
        require(msg.sender == items[_itemId].seller, "Only the owner can execute this");
        _;
    }

    //وظيفة لإزالة عنصر من البيع، محدثة بمعدّل «OnlySeller»
 وظيفة إزالة عنصر من البيع (uint _itemID) للبائع العام فقط (_itemID) {
        items[_itemId].forSale = false;
    }

    //وظيفة لتحديث سعر السلعة، تم تحديثها باستخدام مُعدِّل «OnlySeller»
 وظيفة تحديث سعر السلعة (uint _itemID، uint _new price) للعامة فقط للبائع (_itemID) {
        items[_itemId].price = _newPrice;
    }
}

مع وجود مُعدِّل OnlySeller ، جعلنا وظائف RemoveItemFromSale و UpdateItemPrice أكثر كفاءة وقابلية للقراءة.

نشر العقد المحسّن والتفاعل معه

بعد تحسين عقد Marketplace ، اتبع نفس الخطوات كما في الدروس السابقة لتجميعه ونشره.

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

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

الاستنتاج

تهانينا! لقد وصلت إلى نهاية دورة المبتدئين هذه حول تطوير العقود الذكية باستخدام Solidity. على مدار أربعة دروس، استكشفنا إنشاء العقود الذكية ونشرها والتفاعل معها في بيئة محاكاة لإيثريوم، باستخدام Remix IDE.

دعونا نلخص ما حققناه:

  • الدرس 1: قدم أساسيات إيثريوم وبلوكتشين والعقود الذكية. قمنا بتطوير أول عقد ذكي بسيط لنا، Item.sol، والذي حدد عنصرًا واحدًا يمكن شراؤه أو بيعه.
  • الدرس 2: قمنا بتوسيع عقدنا الأولي لإنشاء عقد Marketplace.sol ، والذي سمح بإنشاء وإدراج وشراء عناصر متعددة.
  • الدرس 3: أضفنا المزيد من الوظائف إلى سوقنا من خلال تقديم طرق لإزالة العناصر من البيع وتحديث سعر السلعة.
  • الدرس 4: قمنا بتحسين إمكانية قراءة وكفاءة عقدنا الذكي من خلال تطبيق ميزة Solidity المسماة «المعدّلات». لقد تعلمنا كيفية جعل الكود الخاص بنا أكثر بساطة وأمانًا.
    خلال هذه الرحلة، لم تكتسب أساسًا متينًا في Solidity وتطوير العقود الذكية فحسب، بل اتخذت أيضًا خطواتك الأولى نحو أن تصبح مطورًا لـ blockchain. لقد تعلمت كيفية التفكير في التطبيقات اللامركزية وتذوق الإمكانات المبتكرة لتقنية blockchain.

من الآن فصاعدًا، هناك العديد من المسارات التي يمكنك استكشافها. يمكنك الغوص بشكل أعمق في Solidity والتعرف على المزيد من الميزات المتقدمة واعتبارات الأمان. يمكنك استكشاف منصات بلوكشين أخرى مثل بولكادوت أو كاردانو أو سلسلة Binance الذكية. بدلاً من ذلك، قد ترغب في التعرف على تطوير الواجهة الأمامية لـ dApps باستخدام Web3.js أو Ethers.js، أو حول نشر العقود الخاصة بك على شبكة Ethereum الفعلية.

مهما كان المسار الذي تختاره، تذكر دائمًا: التعلم الأكثر فعالية هو بالممارسة. لذلك، لا تخف من التجربة والبناء والكسر وإعادة البناء. كل تحد تواجهه هو فرصة للتعلم والنمو.

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

ترميز سعيد!

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.