عن المشروع
MetaMask Mobile هو العميل المحمول لمحفظة MetaMask، حيث يوفر الوصول إلى المواقع والتطبيقات التي تستخدم سلسلة كتل إيثريوم. إنه تطبيق React Native موزع لنظامي iOS وAndroid، مع مستودع يحتوي على المصدر الكامل وأدوات البناء ووثائق المطورين.
ما يفعله
- يعمل كمحفظة محمولة ومتصفح داخل التطبيق للمواقع والتطبيقات اللامركزية القائمة على إيثريوم.
- يتصل بشبكات سلسلة الكتل عبر معرف مشروع Infura، وهو مطلوب للتطبيق للوصول إلى الشبكات.
- يستخدم Firebase Cloud Messaging لاتصالات التطبيق، مما يتطلب ملفات تكوين منصة لنظامي iOS وAndroid.
سير العمل التطويري
- مسار Expo (موصى به): يتجنب المطورون تجميع الكود الأصلي عن طريق تنزيل بناء تطويري مُجمّع مسبقًا وتشغيل حزمة JavaScript. يتطلب الإعداد Node وYarn v4 وWatchman؛ تشمل الأوامر `yarn setup:expo` و`yarn watch` ونصوص مساعدة مثل `yarn install:ios:dev` و`yarn install:android:dev` التي تجلب البناءات من أجزاء GitHub Actions، مع خيارات التخزين المؤقت و`--force-download`.
- المسار الأصلي: مطلوب عند تعديل الكود الأصلي أو إضافة مكتبات بمكونات أصلية. يتطلب إعداد بيئة أصلية كاملة، ثم `yarn setup`، ثم `yarn watch` بالإضافة إلى `yarn start:ios` أو `yarn start:android`.
ملاحظات التكوين
- يحصل المساهمون الداخليون على `.js.env` من 1Password؛ ينشئ المساهمون الخارجيون مفتاح API من Infura ويعيدون تسمية `.js.env.example`.
- يختلف إعداد Firebase بين المساهمين الداخليين والخارجيين؛ ينشئ المستخدمون الخارجيون مشروع Firebase خاصًا بهم باسم الحزمة `io.metamask` ويولّدون متغيرات بيئة base64 لملفات الخدمة.
الأدوات والجودة
- خطافات Git عبر Husky اختيارية (`yarn git:hooks:install`)، وتشغل Prettier وESLint عبر lint-staged عند الالتزام، مع طرق موثقة لتخطيها.
- تتم مزامنة مهارات وكلاء الذكاء الاصطناعي من مستودعات مهارات MetaMask المشتركة إلى مسارات محلية فقط؛ `yarn install` يزامن مجموعة أساسية و`yarn skills` يزامن جميع المجالات، مع تكوين محلي اختياري.
- تغطي الوثائق البنية والرسوم المتحركة وإعداد البيئة واستكشاف الأخطاء واختبار عرض المكونات واختبار E2E والتصحيح والأداء وتوصيف بناء الإصدار وStorybook والتوزيع الداخلي لنظام Android.
هذا المستودع موجه للمطورين الذين يساهمون في أو يبنون على عميل MetaMask المحمول وليس للمستخدمين النهائيين الذين يثبتون التطبيق.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.