Sobre o projeto

O MetaMask Mobile é o cliente móvel da carteira MetaMask, fornecendo acesso a sites e aplicações que usam a blockchain Ethereum. É uma aplicação React Native distribuída para iOS e Android, com o repositório contendo o código-fonte completo, ferramentas de build e documentação para desenvolvedores. O que faz - Atua como carteira móvel e navegador integrado para sites e dapps baseados em Ethereum. - Conecta-se a redes blockchain através de um project ID da Infura, necessário para a aplicação alcançar redes. - Usa o Firebase Cloud Messaging para comunicações da aplicação, exigindo ficheiros de configuração de plataforma para iOS e Android. Fluxos de desenvolvimento - Percurso Expo (recomendado): os desenvolvedores evitam compilar código nativo ao descarregar um build de desenvolvimento pré-compilado e executar o bundler JavaScript. A configuração usa Node, Yarn v4 e Watchman; os comandos incluem `yarn setup:expo`, `yarn watch` e scripts auxiliares como `yarn install:ios:dev` e `yarn install:android:dev`, que obtêm builds a partir de artefactos do GitHub Actions, com caching e opções `--force-download`. - Percurso nativo: necessário ao modificar código nativo ou adicionar bibliotecas com componentes nativos. Requer uma configuração completa do ambiente nativo, `yarn setup`, depois `yarn watch` mais `yarn start:ios` ou `yarn start:android`. Notas de configuração - Os contribuidores internos obtêm o `.js.env` a partir do 1Password; os contribuidores externos criam uma chave API da Infura e renomeiam `.js.env.example`. - A configuração do Firebase difere para contribuidores internos e externos; os utilizadores externos criam o seu próprio projeto Firebase com o nome de pacote `io.metamask` e geram variáveis de ambiente base64 para os ficheiros de serviço. Ferramentas e qualidade - Os Git hooks via Husky são opcionais (`yarn git:hooks:install`), executando Prettier e ESLint através do lint-staged no commit, com formas documentadas de os ignorar. - As competências de agentes de IA são sincronizadas a partir de repositórios partilhados de competências MetaMask para caminhos apenas locais; `yarn install` sincroniza um conjunto base e `yarn skills` sincroniza todos os domínios, com configuração local opcional. - A documentação abrange arquitetura, animações, configuração de ambiente, resolução de problemas, testes de visualização de componentes, testes E2E, depuração, desempenho, criação de perfis de builds de lançamento, Storybook e distribuição interna Android. Este repositório destina-se a desenvolvedores que contribuem para ou constroem sobre o cliente móvel MetaMask, e não a utilizadores finais que instalam a aplicação.