À propos du projet
MetaMask Mobile est le client mobile du portefeuille MetaMask, offrant un accès aux sites web et applications utilisant la blockchain Ethereum. C'est une application React Native distribuée pour iOS et Android, avec le dépôt contenant le code source complet, les outils de construction et la documentation pour les développeurs.
Ce qu'il fait
- Agit comme un portefeuille mobile et navigateur intégré pour les sites et dapps basés sur Ethereum.
- Se connecte aux réseaux blockchain via un ID de projet Infura, requis pour que l'application atteigne les réseaux.
- Utilise Firebase Cloud Messaging pour les communications de l'application, nécessitant des fichiers de configuration de plateforme pour iOS et Android.
Workflows de développement
- Chemin Expo (recommandé) : les développeurs évitent de compiler le code natif en téléchargeant une build de développement précompilée et en exécutant le bundler JavaScript. La configuration utilise Node, Yarn v4 et Watchman ; les commandes incluent `yarn setup:expo`, `yarn watch`, et des scripts d'aide tels que `yarn install:ios:dev` et `yarn install:android:dev` qui récupèrent les builds depuis les artefacts GitHub Actions, avec des options de cache et `--force-download`.
- Chemin natif : nécessaire lors de la modification du code natif ou de l'ajout de bibliothèques avec composants natifs. Il nécessite une configuration complète de l'environnement natif, `yarn setup`, puis `yarn watch` avec `yarn start:ios` ou `yarn start:android`.
Notes de configuration
- Les contributeurs internes obtiennent `.js.env` depuis 1Password ; les contributeurs externes créent une clé API Infura et renomment `.js.env.example`.
- La configuration Firebase diffère pour les contributeurs internes et externes ; les utilisateurs externes créent leur propre projet Firebase avec le nom de package `io.metamask` et génèrent des variables d'environnement base64 pour les fichiers de service.
Outillage et qualité
- Les hooks Git via Husky sont facultatifs (`yarn git:hooks:install`), exécutant Prettier et ESLint via lint-staged lors du commit, avec des méthodes documentées pour les ignorer.
- Les compétences d'agent IA sont synchronisées depuis les dépôts partagés de compétences MetaMask vers des chemins locaux uniquement ; `yarn install` synchronise un ensemble de base et `yarn skills` synchronise tous les domaines, avec une configuration locale optionnelle.
- La documentation couvre l'architecture, les animations, la configuration de l'environnement, le dépannage, les tests de vue de composants, les tests E2E, le débogage, la performance, le profilage des builds de version, Storybook et la distribution Android interne.
Ce dépôt est destiné aux développeurs contribuant ou construisant sur le client mobile MetaMask plutôt qu'aux utilisateurs finaux installant l'application.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.