تثبيت | كتاب المستخدم | مستندات المطور | مستندات الصندوق
Foundry عبارة عن مجموعة أدوات سريعة ومحمولة وموحدة لتطوير تطبيقات Ethereum مكتوبة بلغة Rust.
يتكون المسبك من :
Forge : إطار اختبار Ethereum (مثل Truffle وHardhat وDappTools).
Cast : سكين الجيش السويسري للتفاعل مع العقود الذكية لـ EVM وإرسال المعاملات والحصول على بيانات السلسلة.
السندان : عقدة إيثريوم محلية، تشبه Ganache، شبكة Hardhat.
إزميل : صلابة سريعة ونفعية ومطولة REPL.
هل تحتاج إلى مساعدة في البدء باستخدام Foundry؟ قراءة ؟ كتاب مسبك (WIP)!
انظر دليل التثبيت في الكتاب.
إذا كنت تواجه أية مشكلات أثناء التثبيت، فراجع الحصول على المساعدة والأسئلة الشائعة.
خط أنابيب تجميع سريع ومرن
الكشف التلقائي عن إصدار برنامج التحويل البرمجي Solidity وتثبيته
التجميع التزايدي والتخزين المؤقت : يتم إعادة تجميع الملفات التي تم تغييرها فقط
التجميع الموازي
دعم هياكل الدليل غير القياسية (مثل مستودعات Hardhat)
تتم كتابة الاختبارات في Solidity (كما هو الحال في DappTools)
اختبار زغب سريع مع تقليص المدخلات وطباعة الأمثلة المضادة
وضع شوكة RPC عن بعد السريع ، مع الاستفادة من البنية التحتية غير المتزامنة لـ Rust مثل tokio
تسجيل تصحيح مرن
نمط DappTools، باستخدام سجلات DsTest
المنبعثة
أسلوب Hardhat، باستخدام عقد console.sol
الشهير
محمول (5-10 ميجابايت) وسهل التثبيت دون الحاجة إلى Nix أو أي مدير حزم آخر
CI سريع مع إجراء Foundry GitHub.
يعد Forge سريعًا جدًا في التجميع (الاستفادة من ethers-solc) والاختبار.
انظر المعايير أدناه. يمكن العثور على المزيد من المعايير في منشور إعلان الإصدار 0.2.0 وفي مستودع محاكاة Convex Shutdown Simulation.
معايير الاختبار
مشروع | صياغة | أدوات داب | تسريع |
---|---|---|---|
الإرسال11/سولمات | 2.8 ثانية | 6 م 34 ث | 140x |
مختبرات الانعكاس/geb | 0.4 ثانية | 23 ثانية | 57.5x |
راري-رأس المال/الخزائن | 0.28 ثانية | 6.5 ثانية | 23x |
ملاحظة: في المعايير المذكورة أعلاه، تم تخطي التجميع دائمًا
معايير التجميع
الخلاصة: يكون تجميع Forge أسرع دائمًا بمعامل يتراوح بين 1.7 و11.3x، اعتمادًا على مقدار التخزين المؤقت المتضمن.
Cast عبارة عن سكين الجيش السويسري للتفاعل مع تطبيقات Ethereum من سطر الأوامر.
يمكن العثور على المزيد من الوثائق في الحزمة المصبوبة.
foundry.toml
تم تصميم المسبك ليكون قابلاً للتكوين للغاية. يمكنك تكوين Foundry باستخدام ملف يسمى foundry.toml
في جذر مشروعك، أو أي دليل أصل آخر. راجع حزمة التكوين لجميع الخيارات المتاحة.
يمكن تعيين مساحة الاسم بشكل تعسفي بواسطة الملفات الشخصية. يسمى ملف التعريف الافتراضي default
(راجع "ملف التعريف الافتراضي").
يمكنك تحديد ملف تعريف آخر باستخدام متغير البيئة FOUNDRY_PROFILE
. يمكنك أيضًا تجاوز أجزاء من التكوين الخاص بك باستخدام متغيرات البيئة البادئة FOUNDRY_
أو DAPP_
، مثل FOUNDRY_SRC
.
يقوم forge init
بإنشاء ملف foundry.toml
أساسي وقابل للتوسيع.
لرؤية التكوين الحالي الخاص بك، قم بتشغيل forge config
. لرؤية الخيارات الأساسية فقط (كما تم تعيينها مع forge init
)، قم بتشغيل forge config --basic
. يمكن استخدام هذا لإنشاء ملف foundry.toml
جديد باستخدام forge config --basic > foundry.toml
.
افتراضيًا، يُظهر forge config
ملف تعريف المسبك المحدد حاليًا وقيمه. كما أنه يقبل نفس الوسائط مثل forge build
.
يمكنك إعادة استخدام متغيرات بيئة .dapprc
الخاصة بك عن طريق تشغيل source .dapprc
قبل استخدام أداة Foundry.
يمكنك العثور على أدلة إعداد وتكوينات إضافية في كتاب Foundry:
إعداد VSCode
الإكمال التلقائي لشل
راجع إرشادات المساهمة لدينا.
أولاً، تأكد من إمكانية العثور على إجابة سؤالك في الكتاب أو في الصندوق ذي الصلة.
إذا لم يكن الجواب هناك:
انضم إلى دعم Telegram للحصول على المساعدة، أو
افتح مناقشة بسؤالك، أو
افتح مشكلة مع الخطأ
إذا كنت ترغب في المساهمة، أو متابعة مناقشة المساهمين، يمكنك استخدام برقية رئيسية لدينا للدردشة معنا حول تطوير Foundry!
Foundry عبارة عن إعادة كتابة نظيفة لإطار عمل الاختبار DappTools. لم يكن أي من هذا ممكنًا لولا عمل فريق DappHub على مر السنين.
ماتياس سيتز: أنشأ ethers-solc وهو العمود الفقري لخط التجميع لدينا، بالإضافة إلى مساهمات لا حصر لها في الإيثرات، ولا سيما وحدات الماكرو abigen
.
روهيت ناروركار: أنشأ svm-rs لمدير إصدار Rust Solidity والذي نستخدمه لاكتشاف إصدارات Solidity المتعددة وإدارتها تلقائيًا.
بروك إلمور: لتوسيع رموز الغش الخاصة بالجهاز الافتراضي وتنفيذ تتبع المكالمات المنظمة، وهي ميزة مهمة لتصحيح أخطاء مكالمات العقود الذكية.
جميع المساهمين الآخرين في مستودعات وغرف الدردشة الخاصة بـ Ethers-RS & Foundry.