نظرة عامة على إيثريوم
إيثريوم هي عبارة عن منصة برمجية مفتوحة المصدر وموزعة قائمة على بلوكتشين ظهرت كمنافس رئيسي لبيتكوين. تم اقتراح إيثريوم لأول مرة في عام ٢٠١٣ من قبل باحث العملات المشفرة فيتاليك بوتيرين، الذي اقترح إضافة لغة برمجة للبرمجة إلى بيتكوين. تم إطلاقه في 30 يوليو 2015. تمت رعاية تطوير إيثريوم من خلال البيع الجماعي عبر الإنترنت، وهو نوع من التعهيد الجماعي الذي تم من خلاله إصدار توكنات العملات المشفرة.
اقرأ المزيد: ما هي إيثريوم؟
يُطلق على العملة المشفرة الأصلية لإيثريوم اسم إيثر (ETH)، وتتميز بلغة برمجة تُعرف باسم Solidity. بلوكتشين، التكنولوجيا الأساسية لإيثريوم، هي دفتر الأستاذ الموزع الذي يحتفظ بقائمة دائمة من السجلات غير القابلة للتلاعب. تتيح هذه البنية اللامركزية للمطورين إنشاء مجموعة واسعة من التطبيقات اللامركزية (dApps)، مع الاستفادة من النظام البيئي القوي للمنصة وتعدد استخداماتها.
تتمثل إحدى الميزات الأساسية لـ Ethereum في دعمها للعقود الذكية، وهي عقود رقمية يتم تنفيذها تلقائيًا بناءً على شروط محددة مسبقًا كما ذكرنا في الدرس 1. تتيح هذه العقود الذكية بيئة غير موثوقة حيث يمكن إجراء المعاملات بأمان وشفافية دون الحاجة إلى وسطاء. كان المُعدنون على شبكة إيثريوم ينتجون توكنات إيثر، والتي لا تُستخدم فقط كعملة ولكن أيضًا كوسيلة لدفع رسوم الاستخدام على المنصة؛ وبعد «الدمج»، انتقلت إيثريوم إلى آلية إثبات الحصة (PoS)، حيث يقوم المدققون (وليس عمال المناجم) بالتحقق من المعاملات وإنشاء كتل جديدة. وبدلاً من إنتاج توكنات إيثر، يكسب المدققون رسوم المعاملات ومكافآت الكتلة في إيثر لمشاركتهم في الشبكة. لا تزال إيثر تعمل كوسيلة لدفع رسوم الاستخدام على المنصة، ولكن إصدارها وتوزيعها يختلفان عن آلية إثبات العمل السابقة (PoW).
وقد اجتذبت قدرة إيثريوم على استضافة التطبيقات اللامركزية والعقود الذكية اهتمامًا كبيرًا من المطورين والمؤسسات، مما يجعلها منصة رائدة لبناء حلول مبتكرة في مختلف الصناعات، بما في ذلك التمويل وسلسلة التوريد والألعاب وغيرها. ومع استمرار تطور النظام البيئي لإيثريوم، فإنه يظل في طليعة تكنولوجيا بلوكتشين، مما يدفع الابتكار ويعزز مجتمعًا مزدهرًا من المطورين والمستخدمين على حد سواء.
اقرأ المزيد: ما هو الدمج؟
اقرأ المزيد: ما هو dApp?
مقدمة إلى لغة برمجة Solidity
Solidity هي لغة برمجة عالية المستوى ومكتوبة بشكل ثابت مصممة خصيصًا لكتابة العقود الذكية على بلوكشين الإيثيريوم. تم تطوير صيغة Solidity بواسطة فريق Ethereum الأساسي، وهي متأثرة بجافا سكريبت، مما يجعلها مألوفة ومتاحة لمجموعة واسعة من المطورين. اللغة هي Turing-complete، مما يسمح للمطورين بإنشاء منطق معقد وتنفيذ وظائف مختلفة في عقودهم الذكية. يتم تجميع Solidity في الشفرة الفرعية لآلة إيثريوم الافتراضية (EVM)، والتي يتم تنفيذها على شبكة إيثريوم.
في Solidity، يمكن للمطورين تحديد هياكل البيانات المخصصة، وإنشاء وظائف محددة من قبل المستخدم، وتنفيذ آليات التحكم في الوصول، من بين ميزات أخرى. باستخدام Solidity، من الممكن إنشاء مجموعة واسعة من التطبيقات اللامركزية، بما في ذلك منصات التمويل اللامركزي (DeFi) والرموز غير القابلة للاستبدال (NFTs) والمنظمات المستقلة اللامركزية (DAOs) والمزيد.
هيكل عقد الصلابة: مثال
عقد Solidity هو جزء مستقل من التعليمات البرمجية يتكون من متغيرات ووظائف وأحداث ومعدلات، من بين عناصر أخرى. الهيكل الأساسي لعقد Solidity هو كما يلي:
توجيه Pragma: يحدد هذا السطر إصدار مترجم Solidity المتوافق للعقد الذكي. على سبيل المثال:
صلابة
صلابة البراغما ^ 0.8.0؛
تعريف العقد: هذا السطر يعلن العقد واسمه. \
على سبيل المثال:
صلابة
رمز العقد البسيط {
متغيرات الحالة: هذه هي المتغيرات التي تخزن حالة العقد على blockchain. على سبيل المثال، يمكنك تخزين العرض الإجمالي للرمز المميز:
صلابة
وحدة 256 إجمالي الإمدادات العامة؛
الوظائف: تحدد الوظائف سلوك العقد ويمكن استدعاؤها من قبل المستخدمين الخارجيين أو العقود الأخرى. فيما يلي وظيفة بسيطة لنقل الرموز:
صلابة
نقل الوظيفة (عنوان المستلم، مبلغ uint256) عام {
// ... transfer logic ...
}
الأحداث: تُستخدم الأحداث لتسجيل إجراءات محددة في العقد ويمكن مراقبتها من قبل المستخدمين الخارجيين أو العقود. على سبيل المثال، حدث نقل في عقد رمزي:
صلابة
نقل الحدث (العنوان المفهرس من، العنوان المفهرس إلى، قيمة uint256)؛
المعدلات: تُستخدم المعدلات لتعديل سلوك الوظائف، عادةً للتحكم في الوصول أو عمليات التحقق من الشروط المسبقة. على سبيل المثال، أداة تعديل للتحقق مما إذا كان لدى المرسل رموز كافية لنقلها:
جافا سكريبت
يحتوي المُعدِّل على رموز كافية (كمية uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
المُنشئ: المُنشئ عبارة عن دالة خاصة تقوم بتهيئة متغيرات حالة العقد عند نشرها. على سبيل المثال، تهيئة العرض الإجمالي للرمز المميز:
جافا سكريبت
المُنشئ (الوحدة 256 _إجمالي الإمداد) {
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
بوضع كل ذلك معًا، قد يبدو عقد Solidity البسيط للرمز المميز كما يلي:
TypeScript
صلابة البراغما ^ 0.8.0؛
رمز العقد البسيط {
وحدة 256 إجمالي الإمدادات العامة؛
رسم الخرائط (العنوان = > uint256) الرصيد العام لـ؛
نقل الحدث (العنوان المفهرس من، العنوان المفهرس إلى، قيمة uint256)؛
يحتوي المُعدِّل على رموز كافية (كمية uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
}
Highlights
Ethereum هي عبارة عن منصة قائمة على بلوكتشين تدعم العقود الذكية والتطبيقات اللامركزية (dApps).
العملة المشفرة الأصلية لإيثريوم هي إيثر (ETH).
Solidity هي لغة برمجة عالية المستوى تستخدم لكتابة العقود الذكية على Ethereum.
يتم تنفيذ العقود الذكية على Ethereum تلقائيًا بناءً على شروط محددة مسبقًا.
انتقلت إيثريوم إلى آلية إثبات الحصة (PoS) للتحقق من صحة المعاملات وإنشاء كتل جديدة.
تسمح Solidity للمطورين بتحديد هياكل البيانات وإنشاء الوظائف وتنفيذ التحكم في الوصول والمزيد.
يجذب النظام البيئي لـ Ethereum المطورين والمؤسسات من مختلف الصناعات.
تتكون عقود الصلابة من البراغماتية، وتعريف العقد، ومتغيرات الحالة، والوظائف، والأحداث، والمعدلات، والمُنشئات.
يمكن استخدام عقود Solidity لإنشاء منصات DeFi و NFTs و DAOs والمزيد.
نظرة عامة على إيثريوم
إيثريوم هي عبارة عن منصة برمجية مفتوحة المصدر وموزعة قائمة على بلوكتشين ظهرت كمنافس رئيسي لبيتكوين. تم اقتراح إيثريوم لأول مرة في عام ٢٠١٣ من قبل باحث العملات المشفرة فيتاليك بوتيرين، الذي اقترح إضافة لغة برمجة للبرمجة إلى بيتكوين. تم إطلاقه في 30 يوليو 2015. تمت رعاية تطوير إيثريوم من خلال البيع الجماعي عبر الإنترنت، وهو نوع من التعهيد الجماعي الذي تم من خلاله إصدار توكنات العملات المشفرة.
اقرأ المزيد: ما هي إيثريوم؟
يُطلق على العملة المشفرة الأصلية لإيثريوم اسم إيثر (ETH)، وتتميز بلغة برمجة تُعرف باسم Solidity. بلوكتشين، التكنولوجيا الأساسية لإيثريوم، هي دفتر الأستاذ الموزع الذي يحتفظ بقائمة دائمة من السجلات غير القابلة للتلاعب. تتيح هذه البنية اللامركزية للمطورين إنشاء مجموعة واسعة من التطبيقات اللامركزية (dApps)، مع الاستفادة من النظام البيئي القوي للمنصة وتعدد استخداماتها.
تتمثل إحدى الميزات الأساسية لـ Ethereum في دعمها للعقود الذكية، وهي عقود رقمية يتم تنفيذها تلقائيًا بناءً على شروط محددة مسبقًا كما ذكرنا في الدرس 1. تتيح هذه العقود الذكية بيئة غير موثوقة حيث يمكن إجراء المعاملات بأمان وشفافية دون الحاجة إلى وسطاء. كان المُعدنون على شبكة إيثريوم ينتجون توكنات إيثر، والتي لا تُستخدم فقط كعملة ولكن أيضًا كوسيلة لدفع رسوم الاستخدام على المنصة؛ وبعد «الدمج»، انتقلت إيثريوم إلى آلية إثبات الحصة (PoS)، حيث يقوم المدققون (وليس عمال المناجم) بالتحقق من المعاملات وإنشاء كتل جديدة. وبدلاً من إنتاج توكنات إيثر، يكسب المدققون رسوم المعاملات ومكافآت الكتلة في إيثر لمشاركتهم في الشبكة. لا تزال إيثر تعمل كوسيلة لدفع رسوم الاستخدام على المنصة، ولكن إصدارها وتوزيعها يختلفان عن آلية إثبات العمل السابقة (PoW).
وقد اجتذبت قدرة إيثريوم على استضافة التطبيقات اللامركزية والعقود الذكية اهتمامًا كبيرًا من المطورين والمؤسسات، مما يجعلها منصة رائدة لبناء حلول مبتكرة في مختلف الصناعات، بما في ذلك التمويل وسلسلة التوريد والألعاب وغيرها. ومع استمرار تطور النظام البيئي لإيثريوم، فإنه يظل في طليعة تكنولوجيا بلوكتشين، مما يدفع الابتكار ويعزز مجتمعًا مزدهرًا من المطورين والمستخدمين على حد سواء.
اقرأ المزيد: ما هو الدمج؟
اقرأ المزيد: ما هو dApp?
مقدمة إلى لغة برمجة Solidity
Solidity هي لغة برمجة عالية المستوى ومكتوبة بشكل ثابت مصممة خصيصًا لكتابة العقود الذكية على بلوكشين الإيثيريوم. تم تطوير صيغة Solidity بواسطة فريق Ethereum الأساسي، وهي متأثرة بجافا سكريبت، مما يجعلها مألوفة ومتاحة لمجموعة واسعة من المطورين. اللغة هي Turing-complete، مما يسمح للمطورين بإنشاء منطق معقد وتنفيذ وظائف مختلفة في عقودهم الذكية. يتم تجميع Solidity في الشفرة الفرعية لآلة إيثريوم الافتراضية (EVM)، والتي يتم تنفيذها على شبكة إيثريوم.
في Solidity، يمكن للمطورين تحديد هياكل البيانات المخصصة، وإنشاء وظائف محددة من قبل المستخدم، وتنفيذ آليات التحكم في الوصول، من بين ميزات أخرى. باستخدام Solidity، من الممكن إنشاء مجموعة واسعة من التطبيقات اللامركزية، بما في ذلك منصات التمويل اللامركزي (DeFi) والرموز غير القابلة للاستبدال (NFTs) والمنظمات المستقلة اللامركزية (DAOs) والمزيد.
هيكل عقد الصلابة: مثال
عقد Solidity هو جزء مستقل من التعليمات البرمجية يتكون من متغيرات ووظائف وأحداث ومعدلات، من بين عناصر أخرى. الهيكل الأساسي لعقد Solidity هو كما يلي:
توجيه Pragma: يحدد هذا السطر إصدار مترجم Solidity المتوافق للعقد الذكي. على سبيل المثال:
صلابة
صلابة البراغما ^ 0.8.0؛
تعريف العقد: هذا السطر يعلن العقد واسمه. \
على سبيل المثال:
صلابة
رمز العقد البسيط {
متغيرات الحالة: هذه هي المتغيرات التي تخزن حالة العقد على blockchain. على سبيل المثال، يمكنك تخزين العرض الإجمالي للرمز المميز:
صلابة
وحدة 256 إجمالي الإمدادات العامة؛
الوظائف: تحدد الوظائف سلوك العقد ويمكن استدعاؤها من قبل المستخدمين الخارجيين أو العقود الأخرى. فيما يلي وظيفة بسيطة لنقل الرموز:
صلابة
نقل الوظيفة (عنوان المستلم، مبلغ uint256) عام {
// ... transfer logic ...
}
الأحداث: تُستخدم الأحداث لتسجيل إجراءات محددة في العقد ويمكن مراقبتها من قبل المستخدمين الخارجيين أو العقود. على سبيل المثال، حدث نقل في عقد رمزي:
صلابة
نقل الحدث (العنوان المفهرس من، العنوان المفهرس إلى، قيمة uint256)؛
المعدلات: تُستخدم المعدلات لتعديل سلوك الوظائف، عادةً للتحكم في الوصول أو عمليات التحقق من الشروط المسبقة. على سبيل المثال، أداة تعديل للتحقق مما إذا كان لدى المرسل رموز كافية لنقلها:
جافا سكريبت
يحتوي المُعدِّل على رموز كافية (كمية uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
المُنشئ: المُنشئ عبارة عن دالة خاصة تقوم بتهيئة متغيرات حالة العقد عند نشرها. على سبيل المثال، تهيئة العرض الإجمالي للرمز المميز:
جافا سكريبت
المُنشئ (الوحدة 256 _إجمالي الإمداد) {
totalSupply = _totalSupply;
balanceOf[msg.sender] = _totalSupply;
}
بوضع كل ذلك معًا، قد يبدو عقد Solidity البسيط للرمز المميز كما يلي:
TypeScript
صلابة البراغما ^ 0.8.0؛
رمز العقد البسيط {
وحدة 256 إجمالي الإمدادات العامة؛
رسم الخرائط (العنوان = > uint256) الرصيد العام لـ؛
نقل الحدث (العنوان المفهرس من، العنوان المفهرس إلى، قيمة uint256)؛
يحتوي المُعدِّل على رموز كافية (كمية uint256) {
require(balanceOf[msg.sender] >= amount, "Insufficient balance");
_;
}
}
Highlights
Ethereum هي عبارة عن منصة قائمة على بلوكتشين تدعم العقود الذكية والتطبيقات اللامركزية (dApps).
العملة المشفرة الأصلية لإيثريوم هي إيثر (ETH).
Solidity هي لغة برمجة عالية المستوى تستخدم لكتابة العقود الذكية على Ethereum.
يتم تنفيذ العقود الذكية على Ethereum تلقائيًا بناءً على شروط محددة مسبقًا.
انتقلت إيثريوم إلى آلية إثبات الحصة (PoS) للتحقق من صحة المعاملات وإنشاء كتل جديدة.
تسمح Solidity للمطورين بتحديد هياكل البيانات وإنشاء الوظائف وتنفيذ التحكم في الوصول والمزيد.
يجذب النظام البيئي لـ Ethereum المطورين والمؤسسات من مختلف الصناعات.
تتكون عقود الصلابة من البراغماتية، وتعريف العقد، ومتغيرات الحالة، والوظائف، والأحداث، والمعدلات، والمُنشئات.
يمكن استخدام عقود Solidity لإنشاء منصات DeFi و NFTs و DAOs والمزيد.