دعونا ننفذ معدلًا في عقد 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.
دعونا نلخص ما حققناه:
Item.sol
، والذي حدد عنصرًا واحدًا يمكن شراؤه أو بيعه.Marketplace.sol
، والذي سمح بإنشاء وإدراج وشراء عناصر متعددة.من الآن فصاعدًا، هناك العديد من المسارات التي يمكنك استكشافها. يمكنك الغوص بشكل أعمق في Solidity والتعرف على المزيد من الميزات المتقدمة واعتبارات الأمان. يمكنك استكشاف منصات بلوكشين أخرى مثل بولكادوت أو كاردانو أو سلسلة Binance الذكية. بدلاً من ذلك، قد ترغب في التعرف على تطوير الواجهة الأمامية لـ dApps باستخدام Web3.js أو Ethers.js، أو حول نشر العقود الخاصة بك على شبكة Ethereum الفعلية.
مهما كان المسار الذي تختاره، تذكر دائمًا: التعلم الأكثر فعالية هو بالممارسة. لذلك، لا تخف من التجربة والبناء والكسر وإعادة البناء. كل تحد تواجهه هو فرصة للتعلم والنمو.
شكرًا لك على المشاركة في هذه الدورة والانضمام إلى عالم مثير لتطوير blockchain. بدأت ثورة بلوكتشين للتو، والمطورين مثلك هم في المقدمة. لذا، استمر في التعلم، واستمر في البناء، والأهم من ذلك، استمتع!
ترميز سعيد!
دعونا ننفذ معدلًا في عقد 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.
دعونا نلخص ما حققناه:
Item.sol
، والذي حدد عنصرًا واحدًا يمكن شراؤه أو بيعه.Marketplace.sol
، والذي سمح بإنشاء وإدراج وشراء عناصر متعددة.من الآن فصاعدًا، هناك العديد من المسارات التي يمكنك استكشافها. يمكنك الغوص بشكل أعمق في Solidity والتعرف على المزيد من الميزات المتقدمة واعتبارات الأمان. يمكنك استكشاف منصات بلوكشين أخرى مثل بولكادوت أو كاردانو أو سلسلة Binance الذكية. بدلاً من ذلك، قد ترغب في التعرف على تطوير الواجهة الأمامية لـ dApps باستخدام Web3.js أو Ethers.js، أو حول نشر العقود الخاصة بك على شبكة Ethereum الفعلية.
مهما كان المسار الذي تختاره، تذكر دائمًا: التعلم الأكثر فعالية هو بالممارسة. لذلك، لا تخف من التجربة والبناء والكسر وإعادة البناء. كل تحد تواجهه هو فرصة للتعلم والنمو.
شكرًا لك على المشاركة في هذه الدورة والانضمام إلى عالم مثير لتطوير blockchain. بدأت ثورة بلوكتشين للتو، والمطورين مثلك هم في المقدمة. لذا، استمر في التعلم، واستمر في البناء، والأهم من ذلك، استمتع!
ترميز سعيد!