مرحبًا بكم، أيها المبتكرون في مجال البلوكتشين! اليوم ننتقل إلى مستوى أعلى من مغامرة “Hello World” لإنشاء شيء مثير حقًا — رمز العملة المشفرة الخاص بك على سلسلة BitTorrent (BTTC). استعدوا للغوص في عالم رموز ERC20 باستخدام عقد SimpleERC20 الخاص بنا!
قوة المعايير: الدخول إلى ERC20
قبل أن ننتقل إلى الكود دعنا نتحدث عن سبب أهمية ERC20. إنه مثل اللغة العالمية للرموز في نظام Ethereum البيئي وبالتالي BTTC يعمل باتباع هذا المعيار حيث يصبح رمزك متوافقًا على الفور مع مجموعة كبيرة من المحافظ والمنصات والتطبيقات اللامركزية. إنها تذكرتك إلى الدوريات الكبرى للعملات المشفرة!
عقد SimpleERC20 الخاص بنا: كود صغير، وإمكانات كبيرة
دعونا نكشف النقاب عن عقد SimpleERC20 الصغير والقوي:
import “@openzeppelin/contracts/token/ERC20/ERC20.sol”;
contract SimpleERC20 is ERC20 {
constructor(
string memory name,
string memory symbol,
uint256 initialSupply
) ERC20(name, symbol) {
_mint(msg.sender, initialSupply);
}
function decimals() public view virtual override returns (uint8) {
return 18;
}
}
هذه الجوهرة الصغيرة هي بوابتك لإنشاء رمز ERC20 وظيفي بالكامل. دعنا نحللها ونكتشف السحر بداخلها!
فك شفرة الكيمياء الرقمية
الاستيراد السحري
import “@openzeppelin/contracts/token/ERC20/ERC20.sol”;
هذا الخط هو مصدر القوة الحقيقية. نحن نستورد تنفيذ ERC20 الذي تم اختباره في المعارك من OpenZeppelin. إنه مثل الوقوف على أكتاف العمالقة – نحصل على جميع وظائف ERC20 القياسية دون إعادة اختراع العجلة.
شهادة ميلاد الرمز الخاص بنا
contract SimpleERC20 is ERC20 {
// Contract body
}
هنا نعلن عن عقدنا ونرث من ERC20 الخاص بـ OpenZeppelin. إنه مثل القول، “أريد جميع الميزات الرائعة لـ ERC20، وقد أضيف بعضًا من أسلوبي الخاص!”
المنشئ: بث الحياة في الرمز الخاص بك
constructor(
string memory name,
string memory symbol,
uint256 initialSupply
) ERC20(name, symbol) {
_mint(msg.sender, initialSupply);
}
هذا هو المكان الذي يحدث فيه السحر! يأخذ المنشئ ثلاثة معايير:
- name: الاسم الكامل للرمز الخاص بك (على سبيل المثال، “BitTorrent Chain Token”)
- symbol: رمز قصير (على سبيل المثال، “BTT”)
- initialSupply: عدد الرموز التي سيتم سكها في البداية
نمرر الاسم والرمز إلى منشئ ERC20 ، ثم نستخدم _mint لإنشاء العرض الأولي للرموز، وتعيينها لمن ينشر العقد.
الأماكن العشرية: الطباعة الدقيقة
function decimals() public view virtual override returns (uint8) {
return 18;
}
تحدد هذه الوظيفة عدد الأماكن العشرية للرمز الخاص بك. نحن نستخدم 18، وهو المعيار لمعظم رموز ERC20. وهذا يعني أن رمزًا واحدًا يتم تمثيله على أنه 10000000000000000000 (1 مع 18 صفرًا) في أصغر وحدة له.
القوة في متناول يدك
من خلال الميراث من ERC20 الخاص بـ OpenZeppelin، يأتي رمزك تلقائيًا مع جميع الوظائف القياسية:
transfer: إرسال الرموز من عنوانك إلى عنوان آخر.
consent and transferFrom: السماح بالتحويلات من جهات خارجية (أمر بالغ الأهمية لتفاعلات DeFi).
balanceOf: التحقق من رصيد الرمز لأي عنوان.
totalSupply: الحصول على العدد الإجمالي للرموز الموجودة.
ما وراء الأساسيات: إلى أين بعد ذلك؟
الآن بعد أن أصبح لديك رمزك الخاص، فإن الاحتمالات لا حصر لها:
إضافة وظائف سك/حرق للتحكم في العرض.
تنفيذ منح الرمز أو أقفال الوقت.
إنشاء نظام حوكمة يعتمد على حيازات الرمز.
إطلاق مجموعة سيولة على بورصة لامركزية.
ميلاد إمبراطورية الرمز الخاصة بك
في حين أن عقد SimpleERC20 الخاص بنا قد يبدو واضحًا، إلا أنه أساس قوي للبناء في عالم التمويل اللامركزي. لقد أنشأت للتو رمزًا يمكن أن يكون الشيء الكبير التالي في مجال التشفير!
تذكر أن كل رمز مميز يبدأ بعقد بسيط. اليوم هو ERC20 أساسي، وغدًا قد يكون العمود الفقري لبروتوكول DeFi الثوري!
إذن، ما الذي سيمثله رمزك المميز في المشهد الواسع لسلسلة الكتل؟ الاحتمالات لا حدود لها مثل خيالك!
رابط Github:
https://github.com/adeelch9/bttc-examples/tree/master/projects/erc20
قسم المكافآت: الغوص بشكل أعمق في عقود BTTC الذكية
لقد بدأنا للتو في استكشاف ما هو ممكن باستخدام العقود الذكية على سلسلة BitTorrent. بالنسبة لأولئك الحريصين على رفع مهارات تطوير blockchain إلى المستوى التالي لدينا كنز من الموارد في انتظارك في مستودع GitHub الخاص بنا!
استكشف المشروع بالكامل
توجه إلى مستودع أمثلة BTTC على GitHub لاكتشاف ثروة من المحتوى والميزات الإضافية:
◽️كود العقد الكامل: بينما قمنا بتغطية الوظائف الرئيسية، يحتوي المستودع على كود العقد الذكي الكامل، بما في ذلك أي طرق لم يكن لدينا مساحة لمناقشتها هنا.
◽️نصوص النشر: هل تساءلت يومًا عن كيفية نشر عقودك الذكية على شبكة BTTC؟ لقد قمنا بتغطيتك بنصوص نشر جاهزة للاستخدام تجعل العملية سهلة.
◽️اختبارات شاملة: كتابة الاختبارات للعقود الذكية أمر بالغ الأهمية لضمان موثوقيتها وأمانها. يتضمن مستودعنا مجموعة من الاختبارات التي توضح أفضل الممارسات في اختبار العقود الذكية.
◽️مشاريع متعددة: إلى جانب العقد الذي ناقشناه اليوم، ستجد مجموعة متنوعة من أمثلة العقود الذكية الأخرى، من البسيطة إلى المتقدمة، والتي تعرض جوانب مختلفة من تطوير blockchain على BTTC.
◽️التوثيق: توفر ملفات README التفصيلية والتعليقات المضمنة سياقًا وشروحات إضافية، مما يجعل من الأسهل فهم وتعديل الكود لمشاريعك الخاصة.
البدء
للاستفادة القصوى من هذه الموارد:
◽️استنساخ المستودع: git clone https://github.com/adeelch9/bttc-examples.git
◽️انتقل إلى دليل المشروع الذي تختاره
◽️اتبع تعليمات الإعداد في ملف README الخاص بالمشروع
◽️جرِّب العقود، وأجرِ الاختبارات، وحاول النشر على شبكة اختبار
لماذا هذا مهم
من خلال استكشاف المستودع بالكامل ستكتسب:
- فهمًا أعمق لتطوير العقود الذكية
- خبرة عملية في النشر والاختبار
- استكشاف أفضل الممارسات في تطوير blockchain
- الإلهام لمشاريع BTTC الخاصة بك
سواء كنت مبتدئًا يتطلع إلى التعلم أو مطورًا متمرسًا يسعى إلى تحسين مهاراتك فإن مستودع أمثلة BTTC الخاص بنا هو بوابتك لإتقان تطوير العقود الذكية على سلسلة BitTorrent.
للاطلاع على مصدر المقال هنا