يثير قطاع البلوكتشين اهتمامًا كبيرًا مع المستجدات المستمرة في مجال البلوكتشين والبيتكوين والإيثيريوم والعملات الرقمية وعروض العملات الأولية. وقد دفعني هذا إلى كتابة هذا البرنامج التعليمي، الأول في سلسلة مصممة لمساعدة الأفراد على فهم كيفية استخدام تكنولوجيا البلوكتشين والعملات الرقمية لإنشاء تطبيقات ذات تأثير.
في هذا البرنامج التعليمي، أهدف إلى إرشادك خلال العملية بأكملها، بدءًا من إعداد حسابك إلى إصدار رمزك الأول على شبكة اختبار Ethereum باستخدام عقد ذكي واحد وميتاماسك. سيعمل هذا الرمز كرمز ERC20 قياسي على شبكة اختبار Ethereum، مجهزًا بالميزات الأساسية التي يمكن أن تكون أساسًا متعدد الاستخدامات لتطبيقات أكثر تعقيدًا من مجرد التحويلات البسيطة.
قبل أن تقوم بإنشاء رمز ERC20 الخاص بك، تحتاج إلى إعداد ما يلي:
تعني ERC Ethereum Request for Comment، و 20 هي رقم تعريف المقترح. الغرض من ERC-20 هو تعزيز شبكة Ethereum. إنه واحد من أهم معايير ERC وأصبح الإطار التقني لإنشاء الرموز على سلسلة كتل Ethereum من خلال العقود الذكية. يحدد ERC-20 مجموعة من القواعد التي يجب على جميع الرموز المعتمدة على Ethereum الالتزام بها، وتعريفها كأصول معتمدة على سلسلة كتل يمكن إرسالها واستلامها، وتتمتع بقيمة، وتعمل على سلسلة كتل Ethereum، وتترتب عليها رسوم الغاز للمعاملات.
في عام 2015، ساهم المطور الألماني فابيان فوغلستيلر في تاريخ الإثيريوم من خلال التعليق على صفحة GitHub للمشروع. وقد أشار هذا إلى تعليقه العشرين، حيث ذكر لأول مرة ERC-20. مع توسع الإثيريوم بسرعة، تم تقديم ERC-20 كحل لتحديات توسع الشبكة.
تم التعرف الرسمي واعتماد ERC-20 كمقترح لتحسين Ethereum (EIP-20)، المشارك في كتابته فيغلستيلر ومؤسس إيثيريوم فيتاليك بوتيرين، في نهاية عام 2017.
قبل معيار ERC-20 ، كان على مبتكري الرموز أن يبدؤوا من الصفر ، مما أدى إلى تباينات بين الرموز المختلفة. كان على المطورين أن يفهموا تمامًا كود العقد الذكي للرموز الأخرى بسبب عدم وجود هيكل موحد ، مما يعقد الأمور بالنسبة للمحافظ والمنصات التي يتعين عليها مراجعة كود كل رمز لدعمه. أصبحت إضافة رموز جديدة إلى التطبيقات مهمة معقدة.
مع إدخال معيار ERC-20، فإن ميزاته الموحدة وقابلية التشغيل المشترك والقابلية للتحويل قد سمحت للمحافظ والبورصات بدمج عدة رموز وتسهيل التبادلات بينها بسهولة. يمكن للعقود الذكية المستخدمة في رموز ERC-20 تنفيذ وفرض المعاملات المالية المعقدة تلقائيًا، وهو أمر أساسي لمنصات الديفي. على هذه المنصات، يمكن أن تمثل الرموز مختلف الأدوات المالية، مثل القروض أو الحصص في حوامل السيولة.
يحدد المعيار ERC-20 ست وظائف إلزامية وثلاث وظائف اختيارية يجب تنفيذها في العقود الذكية.
هنا توجد الوظائف المطلوبة ووصفها:
بالإضافة إلى الوظائف الأساسية المذكورة سابقًا، هناك وظائف اختيارية إضافية يمكن أن تحسن من قابلية استخدام الرمز المميز:
إذا كنت تعرف البرمجة الموجهة نحو الكائنات، يمكنك أن تفكر في ERC-20 على أنه واجهة. لجعل رمزك رمزًا ERC-20، يجب عليك تنفيذ واجهة ERC-20، مما يتطلب منك تضمين هذه الوظائف الست الأساسية. أساسًا، تعمل واجهة ERC-20 كقالب، ويجب على أي عقد يهدف إلى أن يصنف كرمز ERC-20 تصميم وتنفيذ وظائفه باستخدام هذا القالب.
لبدء نشر عقدك على شبكة اختبار سيبوليا لإيثريوم ، يجب عليك تثبيتميتاماسكتمديد المتصفح أو استخدام محفظة Web3 أخرى ، مثل Phantom ، أو أي محفظة متوافقة مع WalletConnect. بعد إعداد المحفظة الخاصة بك ، ستحتاج إلى الحصول على بعض ETH اختبار. يمكنك الحصول على ذلك منصنبور Ethereum Sepolia، والتي صممت خصيصًا لشبكة اختبار Ethereum Sepolia. الحصول على ETH اختباري بسيط: قم بزيارة موقع الحنفية، قم بربط عنوان محفظتك أو إدخال عنوانك، واتبع التعليمات. يمكنك أيضًا مشاركة تغريدة للحصول على مكافآت إضافية، أو يمكنك اختيار الخيار "لا، شكرًا، فقط أرسل لي 0.05 ETH" لتلقي ETH الاختباري مباشرة. ومع ذلك، تذكر أنه يجب أن يكون لديك ما لا يقل عن 0.001 ETH في حسابك الرئيسي في شبكة Ethereum لاستخدام حنفية عملة QuickNode الاختبارية.
هناك العديد من الرموز التي تتوافق مع معيار ERC20 تعمل حاليًا على سلسلة الكتل Ethereum، التي طورتها مجموعات مختلفة. تختلف هذه التنفيذات؛ حيث يركز بعضها على تقليل تكاليف الغاز، بينما يعطي البعض الآخر الأولوية لتعزيز الأمان. لإنشاء رمز قوي وآمن، يختار العديد من المطورين معيار رمز ERC20 الخاص بـ OpenZeppelin. تعتبر OpenZeppelin مكتبة مختبرة تم اختبارها بشكل جيد وتمت مراجعتها من قبل المجتمع للعقود الذكية القابلة لإعادة الاستخدام والتي تتضمن إطار عمل موثوق وآمن لرمز ERC20. إنه يضمن أن تكون تطوير الرموز مطابقًا وآمنًا، مما يجعله الخيار الأول للعديد من مطوري الرموز اليوم.
لسهولة وأمان، سنستخدم ERC-20 OpenZeppelinعقد لإنشاء رمزنا في هذا الدليل. مع OpenZeppelin، لا نحتاج إلى كتابة واجهة ERC-20 بأكملها ؛ نقوم ببساطة بإستيراد عقد المكتبة واستخدام وظائفها. في هذا المثال، سنصدر 1 مليون رمز ERC-20 بإسم MNT.
بعد ذلك، انتقل إلى البوابةإثيريوم ريمكسIDE (البيئة المتكاملة لتطوير إثريوم التي تدعم لغة برمجة Solidity) وإنشاء ملف Solidity جديد، مثل MyNewToken.sol.
يرجى لصق الرمز التالي في نص Solidity الجديد الخاص بك:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20;
استيراد "@openzeppelin/contracts/token/ERC20/ERC20.sol”;
يتم تنفيذ عقد MyNewToken بواجهة ERC20 {constructor() ERC20(“MyNewToken”, “MNT”) {_mint(msg.sender, 1000000 (10 *uint256(decimals())); } }
ها هو ما يفعل الكود:
تعليق SPDX-License-Identifier يشير إلى الترخيص الذي تم بموجبه إصدار العقد.
توجيه Pragma يحدد إصدار المترجم الذي سيتم استخدامه.
يتم استيراد عقد ERC20 من OpenZeppelin ويعمل كأساس لرمزك الخاص.
MyNewToken هو اسم عقدك، الذي يرث من عقد ERC20.
تقوم وظيفة المُنشئ بتهيئة رمز الخاص بك بالاسم ("MyNewToken") والرمز ("MNT").
تقوم وظيفة _mint داخل المنشئ بإنشاء الإمداد الأولي للرموز. في هذه الحالة ، يتم إصدار 1 مليون رمز وتعيينه إلى العنوان الذي ينشئ العقد. يتم ضبط إجمالي عدد الرموز وفقًا لقيمة الأعشار ، والتي تكون افتراضية بقيمة 18 في تنفيذ OpenZeppelin.
لأننا قمنا بتوريث عقد ERC20 الذكي من OpenZeppelin ويورث عقد MyNewToken منه، فلا حاجة لتعريف جميع الوظائف بأنفسنا. جميع الوظائف المعرفة في عقد ERC20 مضمنة في عقد MyNewToken. إذا كنت ترغب في رؤية نسخة أكثر تفصيلاً من الشفرة الكاملة لـ ERC-20، يمكنك الرجوع إلىهذا الملف.
الآن، خذ بعض الوقت لتخصيص العقد الذكي ليتناسب مع احتياجاتك. يمكنك أيضًا تغيير اسم الرمز والرمز الرمزي عن طريق تعديل هذا القسم: ERC20(“MyNewToken”، “MNT”).
بمجرد تخصيص العقد الذكي الخاص بك، الخطوة التالية هي تجميعه.
الخطوة 1: انقر فوق زر مترجم الصلابة. تحقق من إصدار المترجم وتأكد من اختيار العقد الصحيح. نظرًا لأن عقدك الذكي يتضمن سطر pragma solidity ^0.8.20 ، يجب أن يكون إصدار المترجم على الأقل 0.8.20. بعد ذلك ، انقر فوق زر ترجم MyNewToken.sol. إذا كان كل شيء ناجحًا ، سترى علامة صح على زر الترجمة.
الخطوة 2: توجه إلى علامة التبويب 'نفذ وقم بتشغيل المعاملات'. تحت قسم البيئة، اختر الخيار 'مزود المستندات المعززة' للنشر. قبل المتابعة، تأكد من تعيين MetaMask الخاص بك على شبكة اختبار Sepolia وتحديد عقد MyNewToken للنشر. أخيرًا، انقر على زر النشر لنشر عقدك.
إذا لم تكن متأكدًا من كيفية التبديل بين الشبكات، قم بفتح تطبيق MetaMask، انقر فوق محدد الشبكة في الزاوية اليسرى العليا، واختر سيبوليا. إذا لم تكن مرئية، تأكد من تمكين خيار "إظهار الشبكات التجريبية". للحصول على تعليمات حول إضافة عنوان URL ل QuickNode RPC إلى MetaMask، يرجى التحقق من دليل QuickNode.
الخطوة 3: تأكيد المعاملة في ميتا ماسك:
تهانينا! تم نشر عقد الرمز الخاص بك بنجاح الآن على شبكة اختبار إيثريوم سيبوليا، وأنت تمتلك رسميًا رمزك الأول!
Compartir
يثير قطاع البلوكتشين اهتمامًا كبيرًا مع المستجدات المستمرة في مجال البلوكتشين والبيتكوين والإيثيريوم والعملات الرقمية وعروض العملات الأولية. وقد دفعني هذا إلى كتابة هذا البرنامج التعليمي، الأول في سلسلة مصممة لمساعدة الأفراد على فهم كيفية استخدام تكنولوجيا البلوكتشين والعملات الرقمية لإنشاء تطبيقات ذات تأثير.
في هذا البرنامج التعليمي، أهدف إلى إرشادك خلال العملية بأكملها، بدءًا من إعداد حسابك إلى إصدار رمزك الأول على شبكة اختبار Ethereum باستخدام عقد ذكي واحد وميتاماسك. سيعمل هذا الرمز كرمز ERC20 قياسي على شبكة اختبار Ethereum، مجهزًا بالميزات الأساسية التي يمكن أن تكون أساسًا متعدد الاستخدامات لتطبيقات أكثر تعقيدًا من مجرد التحويلات البسيطة.
قبل أن تقوم بإنشاء رمز ERC20 الخاص بك، تحتاج إلى إعداد ما يلي:
تعني ERC Ethereum Request for Comment، و 20 هي رقم تعريف المقترح. الغرض من ERC-20 هو تعزيز شبكة Ethereum. إنه واحد من أهم معايير ERC وأصبح الإطار التقني لإنشاء الرموز على سلسلة كتل Ethereum من خلال العقود الذكية. يحدد ERC-20 مجموعة من القواعد التي يجب على جميع الرموز المعتمدة على Ethereum الالتزام بها، وتعريفها كأصول معتمدة على سلسلة كتل يمكن إرسالها واستلامها، وتتمتع بقيمة، وتعمل على سلسلة كتل Ethereum، وتترتب عليها رسوم الغاز للمعاملات.
في عام 2015، ساهم المطور الألماني فابيان فوغلستيلر في تاريخ الإثيريوم من خلال التعليق على صفحة GitHub للمشروع. وقد أشار هذا إلى تعليقه العشرين، حيث ذكر لأول مرة ERC-20. مع توسع الإثيريوم بسرعة، تم تقديم ERC-20 كحل لتحديات توسع الشبكة.
تم التعرف الرسمي واعتماد ERC-20 كمقترح لتحسين Ethereum (EIP-20)، المشارك في كتابته فيغلستيلر ومؤسس إيثيريوم فيتاليك بوتيرين، في نهاية عام 2017.
قبل معيار ERC-20 ، كان على مبتكري الرموز أن يبدؤوا من الصفر ، مما أدى إلى تباينات بين الرموز المختلفة. كان على المطورين أن يفهموا تمامًا كود العقد الذكي للرموز الأخرى بسبب عدم وجود هيكل موحد ، مما يعقد الأمور بالنسبة للمحافظ والمنصات التي يتعين عليها مراجعة كود كل رمز لدعمه. أصبحت إضافة رموز جديدة إلى التطبيقات مهمة معقدة.
مع إدخال معيار ERC-20، فإن ميزاته الموحدة وقابلية التشغيل المشترك والقابلية للتحويل قد سمحت للمحافظ والبورصات بدمج عدة رموز وتسهيل التبادلات بينها بسهولة. يمكن للعقود الذكية المستخدمة في رموز ERC-20 تنفيذ وفرض المعاملات المالية المعقدة تلقائيًا، وهو أمر أساسي لمنصات الديفي. على هذه المنصات، يمكن أن تمثل الرموز مختلف الأدوات المالية، مثل القروض أو الحصص في حوامل السيولة.
يحدد المعيار ERC-20 ست وظائف إلزامية وثلاث وظائف اختيارية يجب تنفيذها في العقود الذكية.
هنا توجد الوظائف المطلوبة ووصفها:
بالإضافة إلى الوظائف الأساسية المذكورة سابقًا، هناك وظائف اختيارية إضافية يمكن أن تحسن من قابلية استخدام الرمز المميز:
إذا كنت تعرف البرمجة الموجهة نحو الكائنات، يمكنك أن تفكر في ERC-20 على أنه واجهة. لجعل رمزك رمزًا ERC-20، يجب عليك تنفيذ واجهة ERC-20، مما يتطلب منك تضمين هذه الوظائف الست الأساسية. أساسًا، تعمل واجهة ERC-20 كقالب، ويجب على أي عقد يهدف إلى أن يصنف كرمز ERC-20 تصميم وتنفيذ وظائفه باستخدام هذا القالب.
لبدء نشر عقدك على شبكة اختبار سيبوليا لإيثريوم ، يجب عليك تثبيتميتاماسكتمديد المتصفح أو استخدام محفظة Web3 أخرى ، مثل Phantom ، أو أي محفظة متوافقة مع WalletConnect. بعد إعداد المحفظة الخاصة بك ، ستحتاج إلى الحصول على بعض ETH اختبار. يمكنك الحصول على ذلك منصنبور Ethereum Sepolia، والتي صممت خصيصًا لشبكة اختبار Ethereum Sepolia. الحصول على ETH اختباري بسيط: قم بزيارة موقع الحنفية، قم بربط عنوان محفظتك أو إدخال عنوانك، واتبع التعليمات. يمكنك أيضًا مشاركة تغريدة للحصول على مكافآت إضافية، أو يمكنك اختيار الخيار "لا، شكرًا، فقط أرسل لي 0.05 ETH" لتلقي ETH الاختباري مباشرة. ومع ذلك، تذكر أنه يجب أن يكون لديك ما لا يقل عن 0.001 ETH في حسابك الرئيسي في شبكة Ethereum لاستخدام حنفية عملة QuickNode الاختبارية.
هناك العديد من الرموز التي تتوافق مع معيار ERC20 تعمل حاليًا على سلسلة الكتل Ethereum، التي طورتها مجموعات مختلفة. تختلف هذه التنفيذات؛ حيث يركز بعضها على تقليل تكاليف الغاز، بينما يعطي البعض الآخر الأولوية لتعزيز الأمان. لإنشاء رمز قوي وآمن، يختار العديد من المطورين معيار رمز ERC20 الخاص بـ OpenZeppelin. تعتبر OpenZeppelin مكتبة مختبرة تم اختبارها بشكل جيد وتمت مراجعتها من قبل المجتمع للعقود الذكية القابلة لإعادة الاستخدام والتي تتضمن إطار عمل موثوق وآمن لرمز ERC20. إنه يضمن أن تكون تطوير الرموز مطابقًا وآمنًا، مما يجعله الخيار الأول للعديد من مطوري الرموز اليوم.
لسهولة وأمان، سنستخدم ERC-20 OpenZeppelinعقد لإنشاء رمزنا في هذا الدليل. مع OpenZeppelin، لا نحتاج إلى كتابة واجهة ERC-20 بأكملها ؛ نقوم ببساطة بإستيراد عقد المكتبة واستخدام وظائفها. في هذا المثال، سنصدر 1 مليون رمز ERC-20 بإسم MNT.
بعد ذلك، انتقل إلى البوابةإثيريوم ريمكسIDE (البيئة المتكاملة لتطوير إثريوم التي تدعم لغة برمجة Solidity) وإنشاء ملف Solidity جديد، مثل MyNewToken.sol.
يرجى لصق الرمز التالي في نص Solidity الجديد الخاص بك:
// SPDX-License-Identifier: MIT pragma solidity ^0.8.20;
استيراد "@openzeppelin/contracts/token/ERC20/ERC20.sol”;
يتم تنفيذ عقد MyNewToken بواجهة ERC20 {constructor() ERC20(“MyNewToken”, “MNT”) {_mint(msg.sender, 1000000 (10 *uint256(decimals())); } }
ها هو ما يفعل الكود:
تعليق SPDX-License-Identifier يشير إلى الترخيص الذي تم بموجبه إصدار العقد.
توجيه Pragma يحدد إصدار المترجم الذي سيتم استخدامه.
يتم استيراد عقد ERC20 من OpenZeppelin ويعمل كأساس لرمزك الخاص.
MyNewToken هو اسم عقدك، الذي يرث من عقد ERC20.
تقوم وظيفة المُنشئ بتهيئة رمز الخاص بك بالاسم ("MyNewToken") والرمز ("MNT").
تقوم وظيفة _mint داخل المنشئ بإنشاء الإمداد الأولي للرموز. في هذه الحالة ، يتم إصدار 1 مليون رمز وتعيينه إلى العنوان الذي ينشئ العقد. يتم ضبط إجمالي عدد الرموز وفقًا لقيمة الأعشار ، والتي تكون افتراضية بقيمة 18 في تنفيذ OpenZeppelin.
لأننا قمنا بتوريث عقد ERC20 الذكي من OpenZeppelin ويورث عقد MyNewToken منه، فلا حاجة لتعريف جميع الوظائف بأنفسنا. جميع الوظائف المعرفة في عقد ERC20 مضمنة في عقد MyNewToken. إذا كنت ترغب في رؤية نسخة أكثر تفصيلاً من الشفرة الكاملة لـ ERC-20، يمكنك الرجوع إلىهذا الملف.
الآن، خذ بعض الوقت لتخصيص العقد الذكي ليتناسب مع احتياجاتك. يمكنك أيضًا تغيير اسم الرمز والرمز الرمزي عن طريق تعديل هذا القسم: ERC20(“MyNewToken”، “MNT”).
بمجرد تخصيص العقد الذكي الخاص بك، الخطوة التالية هي تجميعه.
الخطوة 1: انقر فوق زر مترجم الصلابة. تحقق من إصدار المترجم وتأكد من اختيار العقد الصحيح. نظرًا لأن عقدك الذكي يتضمن سطر pragma solidity ^0.8.20 ، يجب أن يكون إصدار المترجم على الأقل 0.8.20. بعد ذلك ، انقر فوق زر ترجم MyNewToken.sol. إذا كان كل شيء ناجحًا ، سترى علامة صح على زر الترجمة.
الخطوة 2: توجه إلى علامة التبويب 'نفذ وقم بتشغيل المعاملات'. تحت قسم البيئة، اختر الخيار 'مزود المستندات المعززة' للنشر. قبل المتابعة، تأكد من تعيين MetaMask الخاص بك على شبكة اختبار Sepolia وتحديد عقد MyNewToken للنشر. أخيرًا، انقر على زر النشر لنشر عقدك.
إذا لم تكن متأكدًا من كيفية التبديل بين الشبكات، قم بفتح تطبيق MetaMask، انقر فوق محدد الشبكة في الزاوية اليسرى العليا، واختر سيبوليا. إذا لم تكن مرئية، تأكد من تمكين خيار "إظهار الشبكات التجريبية". للحصول على تعليمات حول إضافة عنوان URL ل QuickNode RPC إلى MetaMask، يرجى التحقق من دليل QuickNode.
الخطوة 3: تأكيد المعاملة في ميتا ماسك:
تهانينا! تم نشر عقد الرمز الخاص بك بنجاح الآن على شبكة اختبار إيثريوم سيبوليا، وأنت تمتلك رسميًا رمزك الأول!