تعمل العملات المشفرة والتقنيات التي تستخدمها على تغيير العالم. إنهم موجودون في كل مكان – ما يجعل cryptocurrency المميز جدا هو التكنولوجيا blockchain. تعتمد كل عملة مشفرة على ما يُعرف باسم Distributed Ledger Technology (DLT) ، وتعد blockchain أكثر أشكالها شيوعًا. الشخص الذي يبني على blockchain يسمى مطور blockchain. تريد أن تتعلم كيف تصبح واحدة؟ بالطبع ، أنت!
كل ما تحتاجه متاح مجانًا على الإنترنت. Blockchain مفتوح المصدر. أسرارها ليست محصورة في قبو ، مثل وصفة كوكاكولا! إذا كنت تريد أن تتعلم كيف تصبح خبيرًا متخصصًا في هذا المجال ، فإن أول ما تحتاج إلى فهمه هو أساسيات تقنية blockchain. هل أنت جاهز؟ لنذهب!
أساسيات Blockchain
blockchain هي قاعدة بيانات رقمية لتخزين المعلومات. يتم تخزين المعلومات في مجموعات تسمى “كتل”. يشبه blockchain جدول بيانات Excel. ومع ذلك ، تحتوي بعض المجموعات المميزة على ميزات خاصة تجعلها مختلفة. البلوك هي:
1- اللامركزية blockchain أي لا يتم تخزينه في مكان واحد – لا يوجد به مركز. يتم تخزينها عبر العديد من أجهزة الكمبيوتر المختلفة. تسمى أجهزة الكمبيوتر هذه العقد. تسمى Block Blockins شبكات نظير إلى نظير لأنه لا يوجد أطراف ثالثة مثل Microsoft أو Google أو Facebook. لذلك ، ليس هناك كيان واحد لديه سيطرة على البيانات الموجودة على blockchain ، حيث يتعامل المستخدمون وكل مطور blockchain مع بعضهم البعض مباشرةً بدلاً من عبر طرف ثالث.
2- عام جميع المعلومات الموجودة على blockchain عامة. هذا يعني أنه يمكن للجميع رؤيتها.
3- تسترشد بالإجماع وهذا يعني أنه قبل إضافة معلومات جديدة إلى blockchain ، يتعين على أكثر من نصف العقد الموافقة على صلاحيتها قبل إضافتها. لأنه يحمي blockchain من الاحتيال.
4- غير قابل للتغيير وهذا يعني أنه بمجرد إضافة المعلومات ، لا يمكن تغييرها أو إزالتها. المعلومات الموجودة على blockchain محمية بواسطة هذا يعني أنه مشفر ومن المستحيل تقريبًا اختراقه.
يُطلق على البرنامج الذي تم إنشاؤه على مجموعات برامج dApps (التطبيقات اللامركزية). تم إنشاء تطبيق dApp الأول على blockchain من Bitcoin وهو نظام دفع نظير إلى نظير. صممت بلوكشين الأخرى – مثل NEO و EOS و Ethereum – لفعل المزيد. تم تصميم هذه البلوكات لتكون جميع أنواع dApps مبنية عليها. تم تصميم Bitcoin كبديل للخدمات المصرفية المركزية. ترغب المنصات مثل NEO و Ethereum في أن ينشئ مستخدموها بدائل dApp لجميع أنواع التطبيقات المركزية ، مثل Twitter و Google و Uber.
كمطور blockchain ، سوف تساعد في بناء شبكة لا مركزية بالكامل! هذا رائع ، ألا تعتقد ذلك؟
الخطوة الثانية هي تحديد أي blockchain تريد تطويره. اثنين من منصات التنمية الأكثر شعبية هي NEO و Ethereum. دعنا نلقي نظرة على ما تقدمه كل منصة لمستخدميها …
Ethereum vs NEO
تم إنشاء Ethereum بواسطة Vitalik Buterin وبدأ العمل به في عام 2015. تم تسمية NEO في الأصل باسم Antshares وأسسها Da Hongfei و Erik Zhang في عام 2014. أصبح NEO في عام 2017.
كلا المنصات تسمح للمستخدمين ببناء dApps. يفعلون هذا بطرق مختلفة قليلا. تم تصميم تطبيقات DApp باستخدام لغات البرمجة ، تمامًا مثل البرامج العادية. يمكن تصميم تطبيقات NEO dApps مع الكثير من لغات البرمجة المختلفة ، بما في ذلك C # و Java. هذه هي اللغات الشائعة التي يعرفها معظم مطوري البرامج. هذا يجعل استخدام NEO أسهل للمستخدمين ذوي الخبرة.
Ethereum
Ethereum له لغته تسمى Solidity. هذا يعني أنه حتى المطور بحاجة إلى تعلم لغة جديدة ليكون مطور blockchain والبدء في إنشاء تطبيقات dApps. ومع ذلك ، يشبه Solidity لغات أخرى مثل C ++ و Javascript. معظم المستخدمين سوف تجد Solidity صعبة ، لتبدأ. ومع ذلك ، فإن المستخدمين الذين يعرفون Javascript أو C ++ سيجدونه أسهل.
NEO
يركز NEO على توفير منصات للأعمال الرقمية في المستقبل. يتبع لوائح الأعمال الصينية ويعمل عن كثب مع الحكومة الصينية. كما أنها حاليا شبكة أسرع من Ethereum. هذا أمر رائع بالنسبة للتطبيقات التي ستحتاج إلى معالجة الكثير من المعاملات في الثانية!
تمتلك Ethereum أيضًا روابط مع الشركات الكبرى مثل Mastercard و Samsung. ومع ذلك ، تركز Ethereum على تشجيع المستخدمين على تطوير blockchain أكثر من NEO. كما أن لديها أكبر مجتمع بناء dApp من أي blockchain الأخرى. هذا هو السبب في أنني أعتقد أن Ethereum هي أفضل منصة لأي مبتدئ لبدء التدريب على التطوير.
في بقية هذا الدليل ، سوف أخبرك بكل ما تحتاج لمعرفته حول كيفية أن تصبح مطورًا رئيسيًا على سلسلة المفاتيح في Ethereum. لنبدأ من خلال إلقاء نظرة على ماهية الصلابة وكيف تعمل …
ما هي Solidity؟
تم تطوير Solidity بواسطة فريق Ethereum ، الذي ترأسه الدكتور Gavin Wood في عام 2014. يتم استخدام Solidity لكتابة العقود الذكية. تستخدم العقود الذكية لإنشاء dApps.
العقود الذكية هي القواعد التي توجه المعاملات على blockchain في Ethereum. إذا تم استيفاء شروط العقد الذكي ، فستحدث المعاملة. إذا لم يتم استيفاء شروط العقد الذكي ، فلن تحدث المعاملة. على سبيل المثال ، لنلقِ نظرة على كيفية إجراء معاملة واحدة على سلتين مختلفتين. الصفقة بين ديانا وروس.
Bitcoin Blockchain
تبيع ديانا كرة القدم على الإنترنت مقابل 5 عملة بيتكوين (BTC). يقرر روس شراء كرة قدم ، لذلك يرسل Diana 5 BTC على سلسلة البيتكوين. تتلقى ديانا 5 BTC من روس وترسل له كرة قدم. الطريقة التي قام بها مطورو Bitcoin blockchain برمجتها ، تبدو المعاملة كما يلي:
روس يرسل 5BTC إلى ديانا.
هذه صفقة جيدة ، أليس كذلك؟ ولكن ماذا لو لم ترسل ديانا كرة القدم؟ ستظل تملك روس بيتكوينز لكن روس لن يكون لها كرة قدم. ما تحتاجه ديانا وروس هو عقد ذكي. الآن ، لنرى كيف تبدو المعاملة في Ethereum blockchain.
Ethereum Blockchain
ديانا تبيع كرة القدم مقابل 70 ETH. روس يريد كرة القدم لذلك يرسل ديانا 70 ETH. ومع ذلك ، لن تحصل ديانا على جائزة 70 ETH حتى ترسل كرة القدم إلى روس. بمجرد أن يستلم روس كرة قدمه ، ستتلقى ديانا 70 لها. هذا هو الشكل الذي ستبدو عليه المعاملة في سلسلة Ethereum blockchain:
إذا أرسل روس 70 ETH إلى ديانا ، فإن Diana ترسل كرة قدم إلى Ross.
يجب أن يحدث كلا الجزأين من العقد لإتمام المعاملة. ما هي المعاملة التي تفضلها؟
العقود الذكية التي يكتبها مطورو blockchain مع Solidity ليست فقط لتحويلات الأموال. يمكن استخدامها للكثير من الأشياء المختلفة. يمكن استخدام عقود الصلابة الذكية لتوجيه جميع أنواع المعاملات من التصويت الآمن في الانتخابات إلى اتفاقيات الإيجار. الآن دعونا نلقي نظرة على كيفية عمل Solidity …
كيف تعمل Solidity؟
الصلابة هي لغة ترميز عالية المستوى. هذا يعني أنه مصمم ليتم قراءته واستخدامه من قبل البشر! عادةً ما تتم كتابة برامج الكمبيوتر بلغة عالية المستوى ومن ثم ترجمتها إلى لغة ترميز منخفضة المستوى.
تم تصميم لغة ترميز منخفضة المستوى ليتم قراءتها واستخدامها بواسطة أجهزة الكمبيوتر. اللغات منخفضة المستوى تتكون من 1 ثانية و 0 ثانية. وهذا ما يسمى ثنائي. يمكن لبعض البشر الأذكياء كتابة الشفرة بلغتين ، لكن لسوء الحظ ، لست منهم!
عندما يقوم مطور blockchain ببناء dApps وعقود ذكية على Ethchain ، blockchain ، هناك قواعد توجه تصميمهم. على سبيل المثال ، إذا كنت ترغب في تصميم عملة مشفرة جديدة باستخدام Solidity ، فعليك اتباع مجموعة من القواعد تسمى ERC20. تسهل هذه القواعد معرفة كيفية عمل تطبيقات dApps الجديدة عند إطلاقها على blockchain.
يحدث تطوير بلوك Ethereum في مكان خاص جدًا يسمى Ethereum Virtual Machine.
Ethereum Virtual Machine
الجهاز الظاهري هو بيئة يمكن فيها كتابة برامج كمبيوتر جديدة. يتم تطوير برامج جديدة في أجهزة افتراضية بحيث يمكن فصلها عن باقي برامج النظام.
تخيل أنك تبني سيارة جديدة. سيكون إنشاء سيارة جديدة واختبارها في منتصف طريق مزدحم فكرة سيئة للغاية ، أليس كذلك؟ ستقوم ببناء واختبار سيارتك في مصنع وفي شوارع فارغة. وبهذه الطريقة ، لن تتمكن سيارتك الجديدة من إتلاف أي سيارات أخرى ولن تكون قادرة على إتلاف سيارتك.
هذه هي الطريقة التي يعمل EVM. إنه مصنع لبناء عقود ذكية جديدة. هذا يجعل Ethereum مكانًا رائعًا لتعلم blockchain. يسمح EVM للمستخدمين بممارسة برمجة blockchain دون الحاجة إلى القلق بشأن ارتكاب الأخطاء. لن تؤثر أي أخطاء من قِبل مطور برامج blockchain الجديد على بقية أجزاء blockchain.
EVM هو أيضا تورينج كاملة. هذا يعني أن كل ما يمكن للكمبيوتر القيام به ، يمكنك تصميم باستخدام EVM. الحد الوحيد هو خيالك! فكر في كل الأفكار الجديدة المثيرة التي يتم إنشاؤها باستخدام EVM الآن!
لذا ، أنت تعرف الآن ما هي Solidity ، وكيف تعمل العقود الذكية وأين يتم تطويرها. بعد ذلك ، دعونا نلقي نظرة على رمز Solidity الذي ستستخدمه.
كود Solidity
تعلم Solidity يشبه إلى حد كبير تعلم التحدث بلغة جديدة ، ولكن من الضروري أن تصبح مطورًا رئيسيًا على منصة Ethereum. أساسيات الصلابة هي مثل الأسماء والصفات والأفعال. الأسماء والصفات والأفعال هي أدوات لإنشاء الجمل. فيما يلي بعض الأدوات اللازمة لإنشاء عقود Solidity الذكية ؛
. المتغيرات – تستخدم هذه لتخزين المعلومات على blockchain. هناك الكثير من الأنواع المختلفة للمتغيرات.
. Boolean – تُستخدم هذه المعلومات لتخزين معلومات صحيحة أو خاطئة.
.الأعداد الصحيحة – يتم استخدامها لتخزين المعلومات كرقم. هناك نوعان من الأعداد الصحيحة. يمكن أن تكون أعداد صحيحة منتظمة أرقامًا موجبة أو سالبة. كلمتهم الرئيسية هي int. يمكن أن تكون أعداد صحيحة غير الموقعة أرقامًا موجبة. كلمتهم الرئيسية هي uint.
. عناوين – تستخدم هذه لتخزين عناوين Ethereum. كل مستخدم Ethereum له عنوانه أو عناوينه على blockchain. تحتاج ديانا وروس ، من المثال السابق ، إلى عناوين لعقدهما الذكي للعمل. الكلمة الرئيسية الخاصة بهم هي العنوان.
. السلاسل – تُستخدم هذه لتخزين معلومات النص. كلمتهم الرئيسية هي السلاسل.
. وظائف – يتم استخدام وظيفة للقيام بعمل معين. يمكن للدالة استخدام المعلومات من المتغيرات لإنشاء معلومات جديدة. دعنا نستخدم المبلغ كمثال. في المجموع 2 + 3 = 5 ، 2 و 3 هي المتغيرات والدالة هي +. 5 هي المعلومات التي ترجعها الوظيفة. بالنسبة لهذا المبلغ ، ستكون الكلمة الدالة add.
. الهياكل – يتم استخدامها لوضع المتغيرات في مجموعات. هل تتذكر تلك السيارة الجديدة التي كنت بصنعها؟ في Solidity.