ما هو جناح Truffle؟ الميزات وكيفية التثبيت وكيفية تشغيل العقود الذكية
نشرت: 2020-03-24في الأيام الأولى ، عندما بدأت Blockchain للتو رحلتها إلى مجال التكنولوجيا السائد ، كان عليك تطوير العقود الذكية باستخدام لغة برمجة Solidity ونشرها عن طريق استدعاء وظائف geth أو solc.
لجعل هذه العملية أسهل قليلاً ، كان عليك كتابة نصوص bash تقوم أولاً بتجميع العقد ثم نشره. الآن ، على الرغم من أن النهج الأخير كان أفضل من السابق ، إلا أنه كان بدائيًا إلى حد ما ، نظرًا لأن البرمجة النصية للباش غالبًا ما تنطوي على نقص في التوحيد القياسي.
هذه الحاجة إلى إنشاء إطار تطوير واختبار سلس ومثالي للعقود الذكية لـ Blockchain هو ما أدى إلى ولادة Truffle Etheruem.
تعلم دورة هندسة البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
جدول المحتويات
ما هو جناح الكمأة؟
وفقًا لـ Truffle Suite ، تعد Truffle "بيئة تطوير عالمية المستوى ، وإطار عمل للاختبار ، وخط أنابيب لأصول blockchain باستخدام Ethereum Virtual Machine (EVM) ، بهدف جعل الحياة كمطور أسهل."
بكلمات بسيطة ، تعتبر Truffle بيئة تطوير وإطار عمل للاختبار وخط أنابيب للأصول كلها مدمجة في بيئة واحدة. يعتمد على Ethereum Blockchain وهو مصمم لتسهيل التطوير السلس والسلس لـ DApps (التطبيقات الموزعة). باستخدام Truffle ، يمكنك تجميع ونشر العقود الذكية ، وحقنها في تطبيقات الويب ، وكذلك تطوير الواجهة الأمامية لـ DApps. اليوم ، تعد Truffle واحدة من IDEs الأكثر استخدامًا في Ethereum Blockchain.

تتكون مجموعة Truffle Suite من ثلاثة عناصر أساسية:
- الكمأة - بيئة التطوير الفعلية التي تدمج تجميع واختبار ونشر العقود الذكية.
- Ganache - إنه محاكي Blockchain منتشر محليًا. يتميز Ganache بواجهة مستخدم رسومية يمكنها محاكاة شبكات Blockchain والاختبار المباشر للعقود الذكية دون مطالبتك بإعداد شبكات اختبار حقيقية أو استخدام شبكة بعيدة.
- Drizzle - هي مجموعة متنوعة من المكتبات الأمامية التي تقدم مكونات مفيدة لتطوير تطبيقات الويب التي يمكنها الاتصال بسلاسة مع العقود الذكية.
قراءة: كيف تصبح مطور Blockchain - دليل المبتدئين
ما هي مميزات الكمأة؟
الميزات التي تجعل Truffle Etheruem أحد IDEs الأكثر استخدامًا في Ethereum Blockchain هي:
- يحتوي على دعم داخلي لتجميع ونشر وربط العقود الذكية.
- يسمح باختبار العقد الآلي مع Mocha و Chai.
- تتيح لك وحدة التحكم في Truffle العمل مع العقود المجمعة بطريقة خالية من المتاعب.
- يحتوي على خط أنابيب قابل للتكوين يدعم كلاً من تطبيقات وحدة التحكم وتطبيقات الويب.
- يأتي مع دعم مدمج لـ JavaScript و CoffeeScript و SASS و ES6 و JSX.
- لديها مولدات تساعد في إنشاء عقود واختبارات جديدة (على سبيل المثال ، إنشاء القضبان).
- يحتوي على برنامج تشغيل نصي يسمح لك بتشغيل ملفات JS / Coffee ، بما في ذلك العقود الذكية الخاصة بك.
- يسمح بإعادة البناء الفوري للأصول خلال مرحلة التطوير.
- يتيح تجميع العقود ونشرها باستخدام اختيارك المفضل لعميل RPC.
- وهو يدعم كل من إدارة الشبكة والحزم.
كيفية تثبيت Truffle Ethereum؟
يمكنك تثبيت Truffle Ethereum باستخدام Node Package Manager (npm). أولاً ، تحتاج إلى إعداد NPM على جهاز الكمبيوتر الخاص بك ، ثم تثبيت Truffle. للقيام بذلك ، تحتاج إلى فتح الجهاز وكتابة ما يلي:
npm تثبيت- g الكمأة
ومع ذلك ، في أجهزة Linux ، قد تحتاج إلى إضافة بادئة "sudo" إلى العبارة أعلاه. بمجرد تثبيت إطار عمل Truffle ، تأكد من تنزيل وتثبيت محاكي Ganache blockchain. يمكنك زيارة موقع Ganache الرسمي - يحتوي على أدوات تثبيت لمعظم الأنظمة الأساسية الشائعة.
الآن بعد أن قمت بتثبيت Truffle بنجاح ، يمكنك بدء مشروع Truffle بطريقتين. لإنشاء مشروع مكشوف ، يمكنك كتابة العبارة التالية:
بداية الكمأة
ومع ذلك ، يمكنك أيضًا استخدام أمر Truffle unbox لإنشاء مشروع برمز موجود. على سبيل المثال ، يمكنك إنشاء رمز مميز مثل:
الكمأة unbox metacoin
عند تشغيل هذا الأمر ، سيتم إنشاء مشروع من صندوق الكمأة. يمكنك العثور على العديد من صناديق الكمأة على الموقع الرسمي. تحتوي على كود معياري وجميع التكوينات اللازمة لبناء المشاريع وإطلاقها بسرعة.
هيكل مشروع الكمأة
سيبدو مجلد Truffle الذي قمت بإنشائه كما يلي:
├── العقود
│ ├── برنامج ConvertLib.sol
│ ├── MetaCoin.sol
│ └── Migrations.sol
├── الهجرات
│ ├── 1_initial_migration.js
│ └── 2_deploy_contracts.js
├── الاختبار
│ ├── TestMetacoin.sol
│ └── metacoin.js
├── الكمأة config.js
└── الكمأة
الآن ، سنناقش بالتفصيل المجلدات الفرعية المختلفة الموجودة في مجلد Truffle الخاص بك.
مجلد العقود
مجلد العقود هو واحد حيث يتم تخزين جميع العقود الذكية الخاصة بك. يوجد في هذا المجلد أيضًا ملف خاص يُعرف باسم ملف Migrations.sol. عادة ، عندما يجمع Truffle مشروعك ، فإنه سيتصفح مجلد العقود لتجميع جميع الملفات المتوافقة.

مجلد الهجرات
يشير مصطلح Truffle Migration إلى البرنامج النصي الذي يحدد كيفية نشر العقود الذكية الخاصة بك في Ethereum Blockchain. تعتبر عمليات الترحيل ضرورية لأنه مع استمرار تعقيد مشروعك ، يزداد أيضًا تعقيد عمليات النشر الخاصة بك. بفضل هجرات Truffle ، يمكنك أتمتة عملية نشر العقود الذكية بطريقة متسلسلة.
إذا نظرت إلى بنية مجلد Truffle ، فسترى ملفًا يسمى 1_initial_migration.js . ينشر هذا الملف عقد Migrations.sol على Ethereum Blockchain.
تسمح لك الهجرات بما يلي:
- تعيين الحد الأقصى للغاز لعمليات النشر
- تعديل أو تغيير من عنوان النشر.
- استدعاء وظائف العقد التعسفي.
- انشر المكتبات
مجلد الاختبار
عندما يتعلق الأمر بالعقود الذكية ، فإن الاختبار أمر لا بد منه! لحسن الحظ ، يحتوي Truffle على إطار اختبار مدمج يسمح لك بكتابة الاختبارات في Solidity أو JavaScript. إذا كتبت اختباراتك في Solidity ، فسيتعين عليك استيراد العقود الذكية في الاختبارات باستخدام توجيه استيراد Solidity ، مثل:
استيراد "../contracts/MetaCoin.sol" ؛
ومع ذلك ، إذا كنت تكتب اختبارات في JavaScript ، فيجب عليك استيرادها باستخدام الوظيفة المساعدة artifacts.require () ، مثل:
var MetaCoin = artifacts.require (“./ MetaCoin.sol”) ؛
ملف الضبط
يحدد ملف التكوين ، المعروف أيضًا باسم truffle.js أو truffle-config.js ، كيفية اتصال Truffle بشبكات Ethereum جنبًا إلى جنب مع الأشياء التالية:
- البيئات - يسمح لك بتحديد عنوان مذكرة geth و network_id والحد الأقصى للغاز للنشر وسعر الغاز الذي ترغب في دفعه.
- هيكل المشروع - يمكنك تغيير الموقع حيث يتم إنشاء الملفات وتخزينها.
- إصدار المحول البرمجي والإعدادات - يمكنك إصلاح إصدار solc وتعيين معلمات (التحسين).
- إدارة الحزم - يتوافق Truffle مع Ethereum Package Manager. يمكنك إعداد التبعيات لـ EthPM لمشاريع Truffle الخاصة بك.
- وصف المشروع - يوضح من طور المشروع ، ويحدد اسم المشروع ، وعناوين الاتصال ، وما إلى ذلك.
اقرأ أيضًا: أفكار مشروع Blockchain للمبتدئين
كيف يتم تشغيل العقود الذكية؟
فيما يلي الطرق المختلفة لتشغيل العقود الذكية -
- لتجميع العقود الذكية ، يجب عليك تشغيل الكود التالي:
الكمأة تجميع
- لتشغيل عمليات الترحيل ، يجب عليك استخدام الكود التالي:
الكمأة تهاجر
يمكنك أيضًا القيام بذلك من خلال ذكر بيئة معينة:
نقل الكمأة - الشبكة الحية

- لاختبار العقود الذكية ، يمكنك تشغيل الكود التالي:
اختبار الكمأة
يمكنك أيضًا إجراء اختبار محدد باستخدام الكود التالي:
اختبار الكمأة ./path/to/FileTest.sol
في هذا المنشور ، هدفنا أن نقدم لك الفكرة الأساسية عن Truffle Etheruem وكيف تعمل. Truffle هي أداة قوية تجعل تطوير DApps والعقود الذكية أكثر ملاءمة من خلال إدخال ممارسات التطوير القياسية في صورة Blockchain.
تغليف
هناك ارتفاع في الوظائف في تقنية blockchain وقد غيرت blockchain بشكل كبير وجه صناعة التكنولوجيا إلى الأبد. إذا كنت مهتمًا بأن تصبح مطور blockchain وأن تنشئ عقودًا ذكية ورموز سلسلة ، تحقق من برنامج الشهادة المتقدم IIIT-B & upGrad في تقنية blockchain.
ما هو Vyper على Ethereum؟
Vyper هي لغة برمجة بيثونية مبنية على أساس العقد ، ومكتوبة إحصائيًا ، وتستهدف عالم Ethereum Virtual World. تم تصميمه كتحسين على شركة سوليدرتي. المبادئ والأهداف الرئيسية لبرنامج Vyper هي الأمان واللغة وبساطة المترجم وقابلية التدقيق. Vyper هي لغة مكتوبة بشدة وبالتالي لا تسمح باستخدام نوع بيانات واحد كنوع آخر. يأتي مع العديد من الميزات الإضافية مثل التحقق من الحدود والفيضانات ، والكتابة القوية ، وجوانب المترجم الصغيرة والمفهومة ، والدعم المحدود للوظائف البحتة ، ودعم الأعداد الصحيحة الموقعة والأرقام العشرية ذات النقاط الثابتة ، وإمكانية التحديد. كما أن لديها بنية بسيطة تجعل من المستحيل على المطورين برمجة البرامج الغامضة.
ما هي عيوب العقود الذكية؟
العقود الذكية ، على الرغم من أن لها العديد من الاستخدامات وشعبية واسعة ، تعاني من العديد من القيود. هناك تنظيم قانوني جيد لإنفاذ العقود الذكية ، مما يجعلها أكثر عرضة للهجمات الإلكترونية. يكاد يكون تغيير عملية العقد الذكي أمرًا مستحيلًا لأن أي خطأ في الرمز يستغرق وقتًا طويلاً ويصبح تصحيحه مكلفًا. على الرغم من انخفاض مشاركة الجهات الخارجية بشكل كبير ، إلا أنه لا يمكن القضاء عليها تمامًا. على سبيل المثال ، يحتاج المطورون إلى محامين لفهم الشروط لإنشاء أكواد للعقود الذكية. تعتمد العقود الذكية أيضًا بشكل كبير على المبرمجين والتعرض للأخطاء ، وهو عيب كبير.
ما هي إدارة الشبكات والحزم في blockchain؟
يساعدك مدير الحزم في أتمتة التثبيت والتحديث والتكوين وإزالة التطبيق. يتم استخدامها في أنظمة التشغيل وبيئات البرمجة وتساعد على تجنب جحيم التبعية. تشمل الوظائف الرئيسية لمديري الحزم ضمان أصالة الحزمة ، وتنزيل البرامج من مستودع على الإنترنت ، وتحديث البرامج الحالية ، وما إلى ذلك. هناك العديد من أنواع مديري الحزم ، والحزم الثنائية ، والحزم القائمة على الكود المصدري ، والأنظمة الهجينة ، ومديري الحزم الوصفية ، والتطبيقات مدراء مقيمين ، إلخ. هناك أيضًا مديرو حزم مرتبطون بـ blockchain. أحد هؤلاء المديرين هو مدير حزمة Node. NPM هو أكبر سجل برمجيات في العالم يسمح للأفراد باستخدام الموارد المشتركة عبر مستودعهم مفتوح المصدر.