このプロジェクトについて
MetaMask Mobileは、MetaMaskウォレットのモバイルクライアントであり、Ethereumブロックチェーンを利用するウェブサイトやアプリケーションへのアクセスを提供します。iOSおよびAndroid向けに配布されるReact Nativeアプリケーションで、リポジトリには完全なソース、ビルドツール、開発者向けドキュメントが含まれています。
機能
- Ethereumベースのサイトやdapps向けのモバイルウォレットおよびアプリ内ブラウザとして動作します。
- InfuraプロジェクトIDを通じてブロックチェーンネットワークに接続します。これはアプリがネットワークに到達するために必要です。
- アプリの通信にFirebase Cloud Messagingを使用し、iOSおよびAndroid用のプラットフォーム設定ファイルが必要です。
開発ワークフロー
- Expoパス(推奨):開発者はネイティブコードをコンパイルせず、事前コンパイル済みの開発ビルドをダウンロードしてJavaScriptバンドラーを実行します。セットアップにはNode、Yarn v4、Watchmanを使用し、コマンドには`yarn setup:expo`、`yarn watch`、およびGitHub Actionsのアーティファクトからビルドを取得する`yarn install:ios:dev`や`yarn install:android:dev`などのヘルパースクリプトが含まれ、キャッシュや`--force-download`オプションがあります。
- ネイティブパス:ネイティブコードを変更したり、ネイティブコンポーネントを含むライブラリを追加したりする場合に必要です。完全なネイティブ環境のセットアップ、`yarn setup`、続いて`yarn watch`と`yarn start:ios`または`yarn start:android`が必要です。
設定に関する注意
- 内部コントリビューターは1Passwordから`.js.env`を取得します。外部コントリビューターはInfura APIキーを作成し、`.js.env.example`の名前を変更します。
- Firebaseのセットアップは内部と外部のコントリビューターで異なります。外部ユーザーはパッケージ名`io.metamask`で独自のFirebaseプロジェクトを作成し、サービスファイル用のbase64環境変数を生成します。
ツールと品質
- HuskyによるGitフックはオプトイン(`yarn git:hooks:install`)で、コミット時にlint-stagedを通じてPrettierとESLintを実行し、スキップする方法も文書化されています。
- AIエージェントスキルは共有のMetaMaskスキルリポジトリからローカル専用パスに同期されます。`yarn install`は基本セットを同期し、`yarn skills`はすべてのドメインを同期し、オプションのローカル設定があります。
- ドキュメントはアーキテクチャ、アニメーション、環境設定、トラブルシューティング、コンポーネントビューテスト、E2Eテスト、デバッグ、パフォーマンス、リリースビルドのプロファイリング、Storybook、内部Android配布を扱っています。
このリポジトリは、アプリをインストールするエンドユーザーではなく、MetaMaskモバイルクライアントに貢献したり、その上に構築したりする開発者を対象としています。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.