تهانينا، لقد وجدته أخيراً! هذا هو بالضبط المقال الذى كنت تبحث عنه في كل مكان على شبكة الإنترنت.
هذا الشرح المُفصَّل يقدّم لك كل ما تحتاجه لتنفيذ عقد العرض الأولي للعملة (أو ما يُعرف بـ”عقد ICO”) على شبكة الإيثريوم الرئيسية.
بعد أن نشرنا دليلنا بعنوان: كيف تصدر توكن ERC20 على إيثريوم في أقل من 20 دقيقة، حققنا بعض النتائج المذهلة كما يلي:
- أتت النسخة الانجليزية من الدليل في المركز الأول على محرك البحث غوغل، قبل مدونة TechCrunch الأميركية لأخبار التقنية، بل وقبل شبكة إيثريوم ذات نفسها، في نتائج البحث عن “كيف تُصدر توكن”.
- 20 ألف شخص من خلفياتٍ مختلفة قرأوا الشرح المفصّل كاملاً بالفعل.
- 113 توكن مختلف صدروا رسمياً حتى هذه اللحظة.
كل هذا الكم الهائل من الطلبات وردود الأفعال المذهلة أوحت لي بفكرة كتابة هذا الشرح المفصّل.
وبما أنَّني أؤمن تماماً بالمصادر المفتوحة، وأبذل قصارى جهدي دائماً في سبيل مساعدة الناس من خلال البلوكتشين التي في متناول الجميع فعلاً، فأنا أعتقد أنَّ هذا الشرح المفصّل سوف يساعد آلاف الناس على تطوير أشياء هادفة ذات معنى.
أتمنى أن يلهمك هذا الشرح المفصّل لتحقيق الإنجاز المهم التالي في عالم العملات المشفرة، وألا تتحول إلى فضيحة الاحتيال الكبرى التالية في نهاية المطاف.
في هذا الشرح المُفصَّل، سوف أشرح كيفية إنشاء حساب شخصي على شبكة إيثريوم وتنفيذ عقد العرض الأولي للعملة خطوةً بخطوة باستخدام عقدٍ ذكي واحد فقط وأداة MyEtherWallet التفاعلية.
سوف نستخدم توكنات من نوع ERC 20 القياسي، وسوف تصبح قادراً على ضبط المواصفات العامة مثل سعر الإيثريوم لكل توكن وتوزيع المكافآت Bouns حسب الجدول الزمني.
تحذيرات مهمة للغاية لابد من قرائتها:
-
- اعلم أنَّه مع القوة العظيمة تأتي مسؤوليةٌ عظيمة: عدم حذرك في التعامل مع إيثريوم أو استغلالك تلك القوى في سبيل الشر هو مسؤوليتك وحدك (لكن أرجوك لا تفعل ذلك، من أجل فيتاليك بوتيرين (مخترع منصة الإيثريوم)!). لكنَّني أتمنى فعلاً أن تستخدمها في سبيل الخير، وأن تشعر بقوة الإمكانيات التي جعلتها هذه التقنية في متناول اليد.
- هذا العقد لم يخضع للتدقيق: مما يعني أنَّه مجرد كود تجريبي لم يجرِ التحقق من صحته، لذا من الممكن أن يكون ناقصاً. إذا كنتَ تنوي إطلاق العرض الأولي لعملة حقيقية، فيجب عليك تدقيق الكود وإصدار عقد سليم مصمم خصيصاً حسب المواصفات التي تريدها.
- أنا غير مسؤول عنك، أو عن حيوانك الأليف، أو عن أموالك، أو عن حياتك؛ فكن على قدر المسؤولية وتحمل عواقب أفعالك.
قبل أن نبدأ، فيما يلي بعض العناصر التي سوف تحتاجها لإنشاء توكن خاص بك:
- عنوان محفظة إيثريوم (شبكة Ropsten)
- بعض الإيثريوم التجريبي (شبكة Ropsten)
- محرر نصوص (مثال: Sublime/Atom)
- عقد مكتوب بلغة برمجة سوليديتي
- أن تكون صبورًا وأن تدعو يسير كل شيء على ما يرام خلال هذه العملية.
عنوان محفظة الإيثريوم
- في هذا الشرح المُفصَّل، سوف نستخدم شبكة تجريبية لإصدار التوكن كيلا تنفق ايثريوم فعلية. سوف نستخدم الشبكة التجريبية المسماة بـ Ropsten . لكي نبدأ، اذهب إلى موقع MyEtherWallet وانشئ حساباً هناك.
- لكي تصبح جاهزاً للبدء، انقر على الركن الأيمن من الشاشة، وغيّر الشبكة إلى Ropsten (MyEtherWallet) ثم انقر على خيار “محفظة جديدة” (New Wallet)، ثم ادخل كلمة سر يسهل عليك تذكرها، ثم حمِّل/احفظ ملف Keystore
في مكان آمن، واحفظ مفتاحك الخاص أيضاً في مكانٍ آمن. - لاستعراض عنوان محفظتك، اختر “عرض معلومات المحفظة” (View Wallet Info) ثم “المفتاح الخاص” (Private Key)، ثم ادخل المفتاح الخاص الذي حفظته، بعدها افتح محفظتك وستجده هناك!
محرر النصوص
حمِّل أحد محرريّ النصوص الآتيين:
العقد
- حمِّل العقد الذكي الذي ساعدنا فارس الإيثريوم الأسطوري BokkyPooBah في إنشائه بالنقر هنا.
- هذا هو الكود الذي ستحرره لإصدار عقد العرض الأولي للعملة الخاص بك.
بعض الإيثريوم المزيف من شبكة Ropsten
لقد أنشأنا موقع خاص يقوم بتوزيع الايثريوم المزيف الخاص بشبكة Ropsten التجريبية او ما يسمي “صنبور روبستن” Ropsten Faucet ، ما عليك سوى الولوج إلى هذا الرابط https://faucet.bitfwd.xyz/ وإدخال عنوان محفظتك، سوف يرسل لك العقد الذكي الذي أنشأناه بعض الايثريوم التجريبي!
لكن لا تقم بطلب تحويل الايثريوم لمحفظتك سوى مرةٍ واحدة فقط، من فضلك!
والآن، لنبدأ:
- افتح العقد الذي حمَّلته في محرر النصوص لديك.
- انتقل إلى السطور 3-15 والقِ نظرةً على قسم التعليقات. صحيحٌ أنَّ هذا قسماً خاصاً بالتعليقات، إلا أنَّه سيساعدك في الخطوات التالية. اسم نموذج عقد العرض الأولي للعملة هو “bitfwd”، وهو عقد بيع جماعي للتوكنات.
- غيِّر السطر 4 إلى اسم عقد البيع الجماعى ICO الخاص بك.
- سوف نغير السطر 6 فى خطوة لاحقة باضافة عنوان العقد بعد تنفيذه على بلوكتشين.
- غيّر الرمز (Symbol) في السطر 7 إلى اسم العملة الذي تريد انشاؤها (اختر اسماً قصيراً).
- غيّر السطر 8 إلى اسم التوكن الخاص بك.
الخطوة التالية:
- انتقل إلى السطر 102 وغيّر “bitfwd” إلى “(اسم عقد البيع الجماعي ICO الذي اخترته)” دون أي مسافات، وإلا لن يفلح الأمر.
- كرر العملية في السطر 118.
- انتقل إلى السطر 119 وغيّر اسم الرمز، نفس ما فعلته في قسم التعليقات.
- كرر العملية في السطر 120.
- اترك الكسور العشرية كما هي دون تغيير عند 18.
- في السطر 122، سوف يتوجب عليك أن تحدد المعيار الأول للعرض الأولي للعملة الخاص بك: متى ينتهي توزيع المكافآت او فترة الـ Bouns؟ فى المثال التالى ستنتهى بعد 1 اسبوع
- وفي السطر 123، سوف تحدد متى تنتهي عملية البيع الجماعي ICO. فى المثال التالى ينتهى بعد سبعة اسابيع
حسناً، كدنا أن ننتهي من عملية تحرير كود العقد:
- الآن، انتقل إلى السطر 212. وفي ذلك التعليق، اكتب عدد التوكنات التي سوف تعرضها للبيع مقابل الإيثريوم.
- في السطر 218، حدد عدد الأفراد الذين سيحصلون على التوكنات خلال فترة توزيع الأرباح.
- في السطر 220، حدد عدد الأفراد الذين سيحصلون على التوكنات في غير فترة توزيع الأرباح.
كود “msg.value” يعبّر عن عدد الإيثريوم التي أرسلها لك شخصٌ ما. ففي العقد الذي أصدرته أنا، على سبيل المثال، سوف أبيع 1000 توكن FWD مقابل كل إيثريوم أحصل عليه.
هاك، ها قد انتهينا من العقد! كان هذا سهلاً للغاية، أليس كذلك؟ والآن، سوف ننتقل إلى فعل بعض الأمور الممتعة، لذا أرجو أن تتحلى بالصبر حتى النهاية!
- ادخل على هذا الرابط http://remix.ethereum.org/
- انسخ الكود الذي انتهيت من تحريره للتو، والصقه في خانة “browser/ballot.sol”! وإذا ظهرت لك كتابة باللون الأحمر، فهذا يعني أنَّ هناك خطأ ما في الكود. أما إذا ظهر لك تحذيرٌ باللون الأصفر، فلا مشكلة، دعنا نأمل أن يسير كل شيء على ما يرام.
- والآن، من خيار “التحويل” (Compile)، اختر التوكن الذي تعمل على إنشائه، ثم اختر “التفاصيل” (Details).
- من ByteCode، اضغط على الزر ? لنسخ الكود إلى ذاكرة النصوص.
- والآن، سوف تلصقه في محرر الكود. لا تصاب بالذعر، سوف يتعين عليك فعل خطوات كثيرة هناك، لكن جلّ ما نريد هو الـByteCode (وهو عبارة عن مجموعة كبيرة من الأرقام والحروف) من “الكائن” (object). ما سيظهر لك سيكون شيئاً كهذا: “object”: “BYTECODE”.
- أضف 0x في بداية الـByteCode، ليصبح هكذا: object”: “0xBYTECODE”، ثم انسخه إلى ملف مختلف على محرر النصوص.
- والآن، انتقل إلى موقع MyEtherWallet لكي نبدأ في تنفيذ العقد. تذكر: يجب أن نكون على الشبكة التجريبية المسماة بـRopsten، لذا تأكد من أنَّ هذا هو المكتوب في الركن العلوي الأيمن من الشاشة.
- انتقل إلى تبويب “العقود” (Contracts) ثم اضغط على “انشاء عقد” (Deploy Contract).
- انسخ الـByteCode والصقه في الخانة المسماة “ByteCode”، ستجد أنَّ الحد الأقصى لأسعار عمولة شبكة الإيثريوم قد خضع للتحديث تلقائياً نتيجةً لذلك.
- افتح محفظتك عن طريق الانتقال إلى تبويب “المفتاح الخاص” (Private Key) ثم ادخل مفتاحك الخاص وافتح محفظتك.
- والآن، اضغط على خيار “توقيع المعاملة” (Sign Transaction) ثم “انشاء المعاملة” (Deploy Transaction).
انتبه: هذه هي اللحظة التي يتعين عليك فيها أن تأمل بأن يسير كل شيء على ما يرام لأول مرة في غضون بضع ثوانِ.
انقر على المعاملة أو ادخل إلى الرابط التالي https://ropsten.etherscan.io لكي تتأكد من تمرير العقد. إذا لم يُمرر العقد، ابدأ من البداية مجدداً وحاول معرفة مكان الخطأ. أما في حال مُرر العقد، فقد نجحت يا عبقري العملات المشفرة!
تهانينا، إليك عينة للصورة التي من المفترض أن تظهر لك في حال سار كل شيء كما ينبغي:
والآن، سنسجل هذا العقد من خلال اتباع الخطوات الآتية:
- في تبويب “العرض العام” (Overview) انقر على “عنوان العقد” (Contract Address).
- انتقل إلى تبويب “كود العقد” (Contract Code) ثم خيار “التحقق والنشر” (Verify and Publish).
نحن على وشك الانتهاء … لكن الخطوات التالية مهمة للغاية، لذا اقرأها بعناية. ببساطة، ما نفعله هنا هو أنَّنا نحاول ضمان تطابق الكود مع ما تقول إنَّك تنفذه، ومن تسجيله على الشبكة إلى الأبد.
مما يعني أنَّك إن ارتكبت خطأً ما، سيظل موجوداً إلى الأبد، أو كما قال لي أحد أصدقائي المقربين ذات مرة عن البلوكتشين:
“إما أن يكون الكود صحيحاً من المرة الأولى أو يظل خاطئاً إلى الأبد”
والآن، أمامك 5 أمور تفعلها في هذه الصفحة:
- تأكد من أنَّ خانة عنوان العقد تتطابق مع عنوان العقد الذي نفذته للتو. تذكر: عنوان العقد يختلف عن عنوان المحفظة الذي أنشأته على موقع MyEtherWallet، فلا تخلط بينهما.
- يجب أن يكون اسم العقد متطابقاً مع الاسم المذكور في الكود، في حالة المثال الذي استخدمته، الاسم هو: bitfwdToken. كان هذا مذكوراً في السطر 102 في الكود.
- لكي تعرف رقم النسخة التي تستخدمها من المحوّل البرمجي، عد إلى صفحة التعديلات التي حصلت على الـBYTECODE، منها والقِ نظرة على عنوان رابط الـ URL، ستجد رقم نسخة المحوّل البرمجي هناك. في معظم الحالات، ستكون النسخة هي: v0.4.19+commit.c4cbbb05.js.
- من خيار “تحسين” (Optimisation)، اختر “كلا” (NO).
- من خيار “ادخل كود عقد بلغة سوليديتي أدناه” (ENTER THE SOLIDITY CONTRACT CODE BELOW)، انسخ الكود كاملاً من التعديلات، وانسخه في تلك الخانة. لا تنسخ الـBYTECODE، بل الكود نفسه. يمكنك نسخه من محرر النصوص لديك أيضاً.
*لا تنسَ أن تضيف عنوان العقد الذي أنشأته إلى السطر 6.
والآن، اترك الخانات الأخرى فارغة، واضغط على “التحقق والنشر” (Verify and Publish).
لكن توخَ الحذر … هذه هي اللحظة التي كنت بانتظارها، وهي على وشك أن تحدث!
لنأمل أن يسير كل شيء كما ينبغي مرة أخرى من أجل فيتاليك!
حانت لحظة الحقيقة…
إذا ظهرت لك صفحة النجاح مع علامات تدقيق خضراء اللون وما إلى ذلك، فقد نجحت! لقد أصدرت العقد، وهذا مدعاة للفخر! لقد أصبحت الآن واحداً من النشطاء في مجال تقنيات التشفير وتعزيز الخصوصية، وجزءاً من حركة العملات المشفرة، فهنيئاً لك!
أما في حال ظهرت لك رسالة باللون الأحمر … فأعِد المحاولة لكي تعرف إن كانت قد فاتتك خطوة.
حسناً، كيف يعمل العقد؟
الأمر بسيط للغاية: ما عليك سوى أن ترسل إيثريوم Ropsten إلى عنوان العقد الذي انتهيت للتو من تنفيذه، وسوف يرسل لك توكناتك الجديدة في المقابل بالسعر الذي سبق لك أن حددته في الكود، وكلّ من سيرسل لك إيثريوم سوف يحصل على التوكنات أيضاً.
هذا كل شيء!
أي إيثريوم Ropsten تُرسل إليك سوف تصل إلى عنوان محفظة مالك العقد.
في هذه الحالة، مالك العقد هو أنت.
بعض الاعتبارات المهمة:
- تذكر: هذا العقد لم يخضع للتدقيق؛ لذا في حال كنت تفكر في استخدام الشبكة الرئيسية لتنفيذ العقد، فإنَّه يجب عليك بكل تأكيد أن تستعين بشخص يعرف ما يفعله تمام المعرفة ولديه خبرات كثيرة تثبت ذلك. أنت تذكر ما حدث في عملية اختراق منظمات DAO أليس كذلك؟ كانت عواقب ما حدث وخيمة للغاية. وإذا كنت لا تعرف فاسأل صديقك الذي يعرف كل شيء جوجل عن الأمر.
- نجاحك في الوصول إلى هنا يعني أنَّك قد اكتسبت بعض القدرات الخارقة المذهلة في مجال البلوكتشين؛ فكن فخوراً بما حققته. تذكر أن تستغل قدراتك لصالح المجتمع، و لإلهام الآخرين، ولتحقيق أشياء مذهلة. لكن إياك أن تستغلها في تنفيذ عقد للعرض الأولي للعملة تستخدمه للاحتيال على الآخرين كغيرك!
- أنا أثق بك تمام الثقة. لكن مهما كان ما قررت استغلال هذه المهارات فيه، فهو مسؤوليتك أنت وحدك. أنا غير مسؤول عنه بتاتاً؛ خيراً كان أم شراً.
إخلاء المسؤولية: الآراء والتحليلات والأخبار الواردة لا تعكس رأي بت شين. لا ينبغي اعتبار أي من المعلومات التي تقرأها على موقع بت شين بمثابة نصيحة استثمارية، ولا تصادق بت شين على أي مشروع قد يتم ذكره أو ربطه في هذه المقالة. يجب اعتبار شراء وتداول العملات المشفرة نشاطًا عالي المخاطر. ويرجى بذل المجهود الواجب قبل اتخاذ أي إجراء يتعلق بالمحتوى المذكور ضمن هذا التقرير. لا تتحمل بت شين أي مسؤولية في حالة خسارة الأموال في تداول العملات المشفرة.