Solidity هي لغة البرمجة الرئيسية لإنشاء عقود ذكية على Tron وغيرها من سلاسل الكتل القائمة على Ethereum. تتشابه صيغة Solidity مع JavaScript، مما يجعل التعلم أسهل للأشخاص الذين لديهم خلفية JavaScript.
النشاط 1: اقض حوالي 20 دقيقة في مراجعة وثائق Solidity (https://docs.soliditylang.org/). اكتب أي أوجه تشابه أو اختلافات تلاحظها بين Solidity ولغات البرمجة الأخرى التي تعرفها.
في Solidity، لدينا أنواع بيانات مختلفة، بما في ذلك الوحدة والعنوان والدفتر والسلسلة. نحدد المتغيرات لتخزين البيانات وكتابة الوظائف لمعالجة هذه البيانات. لنقم بإنشاء عقد ذكي أساسي للغاية. سننشئ عقدًا يخزن رقمًا ويسمح لنا باسترداد هذا الرقم وتغييره.
افتح TronIDE وأنشئ مساحة عمل جديدة. في العقد الأول المسمى Storage.sol، يمكنك العثور على هذا الرمز:
صلابة
/معرف ترخيص SPDX: GPL-3.0
صلابة البراغما > = < 0.7.0 0.9.0؛
/**
* @title التخزين
* @dev Store & يسترد القيمة في متغير
*/
تخزين العقد {
رقم الوحدة 256؛
/**
* @dev قيمة المتجر في متغير
* @param قيمة num المراد تخزينها
*/
مخزن الوظائف (uint256 num) عام {
number = num;
}
/**
* @dev قيمة الإرجاع
* @return قيمة 'الرقم'
*/
إرجاع الدالة () للعرض العام (uint256){
return number;
}
}
في هذا العقد، نعلن:
رقم متغير الحالة من النوع uint256 (عدد
صحيح غير موقّع 256
بت)مخزن الوظائف ()
الذي يقوم بتحديث قيمة الرقم
recotrieve ()
تُرجع القيمة الحالية للرقم
الآن بعد أن حصلنا على عقدنا، دعونا ننشره على شبكة اختبار النيل.
ها هو! عقدك الأول متاح الآن على Nile Testnet!
بعد نشر عقدك الذكي بنجاح على Nile Testnet من خلال TronIDE، اتبع الخطوات التالية:
store () و retrieve
()
.store ()
. تأكد من أن الرقم يقع ضمن النطاق المقبول لـ uint256
(بين 0 وحوالي 1.15 × 10 ^ 77). بعد إدخال الرقم، انقر فوق زر store ()
. سيتم بدء المعاملة.retrieve ()
. انقر فوق زر الاسترداد ()
. ليست هناك حاجة لإدخال أي قيمة لهذه الوظيفة.يؤدي استدعاء وظيفة retrequete ()
إلى إنشاء معاملة جديدة لأنها وظيفة عرض
(لا تقوم بتعديل حالة العقد). يجب أن تشاهد الإخراج معروضًا في علامة تبويب «وحدة التحكم» أسفل شاشة TronIDE. يجب أن يكون الرقم الذي تراه هو نفس الرقم الذي قمت بتخزينه باستخدام وظيفة store ()
.هذا كل شيء! لقد تفاعلت مع العقد الذي تم نشره. يشكل هذا التفاعل الجزء الأساسي من كيفية تفاعل المستخدمين مع dApps الخاصة بك.
Solidity هي لغة البرمجة الرئيسية لإنشاء عقود ذكية على Tron وغيرها من سلاسل الكتل القائمة على Ethereum. تتشابه صيغة Solidity مع JavaScript، مما يجعل التعلم أسهل للأشخاص الذين لديهم خلفية JavaScript.
النشاط 1: اقض حوالي 20 دقيقة في مراجعة وثائق Solidity (https://docs.soliditylang.org/). اكتب أي أوجه تشابه أو اختلافات تلاحظها بين Solidity ولغات البرمجة الأخرى التي تعرفها.
في Solidity، لدينا أنواع بيانات مختلفة، بما في ذلك الوحدة والعنوان والدفتر والسلسلة. نحدد المتغيرات لتخزين البيانات وكتابة الوظائف لمعالجة هذه البيانات. لنقم بإنشاء عقد ذكي أساسي للغاية. سننشئ عقدًا يخزن رقمًا ويسمح لنا باسترداد هذا الرقم وتغييره.
افتح TronIDE وأنشئ مساحة عمل جديدة. في العقد الأول المسمى Storage.sol، يمكنك العثور على هذا الرمز:
صلابة
/معرف ترخيص SPDX: GPL-3.0
صلابة البراغما > = < 0.7.0 0.9.0؛
/**
* @title التخزين
* @dev Store & يسترد القيمة في متغير
*/
تخزين العقد {
رقم الوحدة 256؛
/**
* @dev قيمة المتجر في متغير
* @param قيمة num المراد تخزينها
*/
مخزن الوظائف (uint256 num) عام {
number = num;
}
/**
* @dev قيمة الإرجاع
* @return قيمة 'الرقم'
*/
إرجاع الدالة () للعرض العام (uint256){
return number;
}
}
في هذا العقد، نعلن:
رقم متغير الحالة من النوع uint256 (عدد
صحيح غير موقّع 256
بت)مخزن الوظائف ()
الذي يقوم بتحديث قيمة الرقم
recotrieve ()
تُرجع القيمة الحالية للرقم
الآن بعد أن حصلنا على عقدنا، دعونا ننشره على شبكة اختبار النيل.
ها هو! عقدك الأول متاح الآن على Nile Testnet!
بعد نشر عقدك الذكي بنجاح على Nile Testnet من خلال TronIDE، اتبع الخطوات التالية:
store () و retrieve
()
.store ()
. تأكد من أن الرقم يقع ضمن النطاق المقبول لـ uint256
(بين 0 وحوالي 1.15 × 10 ^ 77). بعد إدخال الرقم، انقر فوق زر store ()
. سيتم بدء المعاملة.retrieve ()
. انقر فوق زر الاسترداد ()
. ليست هناك حاجة لإدخال أي قيمة لهذه الوظيفة.يؤدي استدعاء وظيفة retrequete ()
إلى إنشاء معاملة جديدة لأنها وظيفة عرض
(لا تقوم بتعديل حالة العقد). يجب أن تشاهد الإخراج معروضًا في علامة تبويب «وحدة التحكم» أسفل شاشة TronIDE. يجب أن يكون الرقم الذي تراه هو نفس الرقم الذي قمت بتخزينه باستخدام وظيفة store ()
.هذا كل شيء! لقد تفاعلت مع العقد الذي تم نشره. يشكل هذا التفاعل الجزء الأساسي من كيفية تفاعل المستخدمين مع dApps الخاصة بك.