أعزاء عشاق العملات الرقمية! قررت أن أشارككم تجربتي في إنشاء العقود الذكية. بصراحة، عندما بدأت للتو، كدت أن أخلع شعري من كل هذه المصطلحات والعمليات. لكن هيّا لنبدأ.
اختيار البلوكشين - الخطوة الأولى والرئيسية
في البداية يجب تحديد البلوكشين. لقد اخترت إيثيريوم، على الرغم من أن الرسوم هناك تقتلني بصراحة! هناك خيارات أخرى - مثل BNB Chain أو سولانا. كل منها له مميزاته وعيوبه.
ما الفرق في مكان كتابة الكود، ستقولون؟ فرق كبير! بعض سلاسل الكتل أسرع وأرخص، لكنها أقل أمانًا. والبعض الآخر - على العكس. ويعتمد أيضًا اختيار سلسلة الكتل على الجمهور الذي سيستخدم عقدك.
لغة البرمجة - Solidity تحكم
في الأساس، الجميع يكتبون بلغة Solidity. نعم، يمكن استخدام لغات أخرى، لكن لماذا التعقيد؟ تم إنشاء Solidity خصيصًا للعقود الذكية ولديها بناء جملة مفهوم.
صمود
صلابة براغما ^ 0.8.0 ؛
contract MoyPervyyKontrakt {
string public privet = "مرحبا، بلوكشين!";
}
هذه القطعة البسيطة يمكن اعتبارها عقدًا. لكن المشاريع الحقيقية، بالطبع، أكثر تعقيدًا بكثير.
بيئة التطوير - بدون أدوات لا يمكننا الذهاب إلى أي مكان
لقد بدأت بـ Remix IDE - وهي بيئة متصفح حيث يمكنك كتابة وتجميع واختبار العقود مباشرة على الإنترنت. إنها مريحة للمبتدئين! ثم انتقلت إلى أدوات أكثر تقدمًا مثل Hardhat أو Truffle.
الاختبار - أكثر مرحلة عصبية
هنا حيث يبدأ "المرح"! عندما تكتب العقد، يجب عليك اختباره. وهنا وقعت في جميع الفخاخ الممكنة.
ذات مرة، قمت بإنشاء عقد للعبة مصغرة مع العملات، لكنني نسيت إضافة تحقق من السحب المتكرر للأموال. النتيجة؟ أحد الأذكياء من مجموعة الاختبار كاد أن يفلّس المشروع، وهو يسحب الأموال بشكل دائري. لحسن الحظ، كانت هذه شبكة اختبار!
نشر - نقطة اللاعودة
بعد جميع الاختبارات، يجب نشر العقد (في البلوكشين. وهنا من المهم أن نفهم - هذه عملية غير قابلة للإرجاع! الكود الذي تم وضعه في البلوكشين لا يمكن تغييره. يمكن فقط نشر إصدار جديد.
نسيت مرة إزالة السطر الخاص بكود الاختبار. كان عليّ إنشاء عقد جديد وشرح للمستخدمين لماذا لم يعد العقد القديم يعمل. العار لي!
الثغرات - كابوس أي مطور
أمان العقود الذكية هو بقرة مقدسة. يمكن أن تكلف أدنى خطأ ملايين. هل تتذكر قصة The DAO؟ هناك، قام هاكر بسرقة )مليون بسبب ثغرة في الشيفرة.
أنا بالتأكيد أتحقق من عقودي على:
احترافي переполнение
هجمات إعادة الدخول
ثغرات إدارة الوصول
وهيّا الكثير من الأشياء
نصيحتي للمبتدئين
لا تختراع العجلة! استخدم المكتبات الجاهزة مثل OpenZeppelin. لقد تم اختبارها عبر الزمن ومن قبل المجتمع.
وهيا، لا تسعى لكتابة عقود معقدة لمنصات التداول أو بروتوكولات DeFi على الفور. ابدأ بالبساطة - الرموز، التصويتات، الألعاب البسيطة.
وأيضًا - دائماً فكر في ما قد يسير على نحو خاطئ. في عالم العقود الذكية، لا يوجد حق في الخطأ. تحقق من كل وظيفة ليس بناءً على كيف ينبغي أن تعمل، ولكن بناءً على كيف يمكن أن يكسرها المتسللون.
حظاً سعيداً لكم في عالم البلوكشين! أما أنا فقد ذهبت لكتابة عقد جديد، الذي آمل أن لا يتم اختراقه بعد ساعة من الإطلاق.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
كيف تكتب عقد ذكي - تجربتي الشخصية
أعزاء عشاق العملات الرقمية! قررت أن أشارككم تجربتي في إنشاء العقود الذكية. بصراحة، عندما بدأت للتو، كدت أن أخلع شعري من كل هذه المصطلحات والعمليات. لكن هيّا لنبدأ.
اختيار البلوكشين - الخطوة الأولى والرئيسية
في البداية يجب تحديد البلوكشين. لقد اخترت إيثيريوم، على الرغم من أن الرسوم هناك تقتلني بصراحة! هناك خيارات أخرى - مثل BNB Chain أو سولانا. كل منها له مميزاته وعيوبه.
ما الفرق في مكان كتابة الكود، ستقولون؟ فرق كبير! بعض سلاسل الكتل أسرع وأرخص، لكنها أقل أمانًا. والبعض الآخر - على العكس. ويعتمد أيضًا اختيار سلسلة الكتل على الجمهور الذي سيستخدم عقدك.
لغة البرمجة - Solidity تحكم
في الأساس، الجميع يكتبون بلغة Solidity. نعم، يمكن استخدام لغات أخرى، لكن لماذا التعقيد؟ تم إنشاء Solidity خصيصًا للعقود الذكية ولديها بناء جملة مفهوم.
صمود صلابة براغما ^ 0.8.0 ؛
contract MoyPervyyKontrakt { string public privet = "مرحبا، بلوكشين!"; }
هذه القطعة البسيطة يمكن اعتبارها عقدًا. لكن المشاريع الحقيقية، بالطبع، أكثر تعقيدًا بكثير.
بيئة التطوير - بدون أدوات لا يمكننا الذهاب إلى أي مكان
لقد بدأت بـ Remix IDE - وهي بيئة متصفح حيث يمكنك كتابة وتجميع واختبار العقود مباشرة على الإنترنت. إنها مريحة للمبتدئين! ثم انتقلت إلى أدوات أكثر تقدمًا مثل Hardhat أو Truffle.
الاختبار - أكثر مرحلة عصبية
هنا حيث يبدأ "المرح"! عندما تكتب العقد، يجب عليك اختباره. وهنا وقعت في جميع الفخاخ الممكنة.
ذات مرة، قمت بإنشاء عقد للعبة مصغرة مع العملات، لكنني نسيت إضافة تحقق من السحب المتكرر للأموال. النتيجة؟ أحد الأذكياء من مجموعة الاختبار كاد أن يفلّس المشروع، وهو يسحب الأموال بشكل دائري. لحسن الحظ، كانت هذه شبكة اختبار!
نشر - نقطة اللاعودة
بعد جميع الاختبارات، يجب نشر العقد (في البلوكشين. وهنا من المهم أن نفهم - هذه عملية غير قابلة للإرجاع! الكود الذي تم وضعه في البلوكشين لا يمكن تغييره. يمكن فقط نشر إصدار جديد.
نسيت مرة إزالة السطر الخاص بكود الاختبار. كان عليّ إنشاء عقد جديد وشرح للمستخدمين لماذا لم يعد العقد القديم يعمل. العار لي!
الثغرات - كابوس أي مطور
أمان العقود الذكية هو بقرة مقدسة. يمكن أن تكلف أدنى خطأ ملايين. هل تتذكر قصة The DAO؟ هناك، قام هاكر بسرقة )مليون بسبب ثغرة في الشيفرة.
أنا بالتأكيد أتحقق من عقودي على:
نصيحتي للمبتدئين
لا تختراع العجلة! استخدم المكتبات الجاهزة مثل OpenZeppelin. لقد تم اختبارها عبر الزمن ومن قبل المجتمع.
وهيا، لا تسعى لكتابة عقود معقدة لمنصات التداول أو بروتوكولات DeFi على الفور. ابدأ بالبساطة - الرموز، التصويتات، الألعاب البسيطة.
وأيضًا - دائماً فكر في ما قد يسير على نحو خاطئ. في عالم العقود الذكية، لا يوجد حق في الخطأ. تحقق من كل وظيفة ليس بناءً على كيف ينبغي أن تعمل، ولكن بناءً على كيف يمكن أن يكسرها المتسللون.
حظاً سعيداً لكم في عالم البلوكشين! أما أنا فقد ذهبت لكتابة عقد جديد، الذي آمل أن لا يتم اختراقه بعد ساعة من الإطلاق.