Skip to content

Mobile web browser providing access to websites that use the Ethereum blockchain

License

Notifications You must be signed in to change notification settings

MetaMask/metamask-mobile

Folders and files

NameName
Last commit message
Last commit date

Latest commit

098dade · Oct 30, 2024
May 7, 2024
Oct 17, 2024
Oct 2, 2024
Aug 23, 2024
Oct 30, 2024
Oct 30, 2024
Sep 24, 2024
Oct 17, 2024
Oct 30, 2024
Oct 30, 2024
Oct 30, 2024
Sep 17, 2024
Oct 2, 2024
Feb 2, 2024
Sep 24, 2024
Oct 16, 2024
Jul 18, 2024
Jul 18, 2018
Sep 24, 2024
Aug 20, 2024
Jul 22, 2024
Apr 29, 2022
Jan 22, 2024
Sep 9, 2024
Jan 25, 2024
Jan 20, 2022
Sep 3, 2024
Mar 7, 2024
Jul 18, 2024
Oct 3, 2024
Sep 20, 2024
May 2, 2024
Sep 3, 2024
Apr 29, 2022
Oct 17, 2024
Feb 18, 2019
Jun 26, 2024
Oct 30, 2024
Oct 4, 2021
Oct 1, 2024
May 25, 2023
Apr 29, 2022
Dec 14, 2022
Sep 19, 2024
Jul 18, 2024
Oct 30, 2024
Apr 29, 2022
Dec 20, 2023
Aug 16, 2023
Jan 30, 2024
Aug 22, 2023
Jul 18, 2024
Feb 16, 2024
Sep 24, 2024
Sep 26, 2024
Jul 18, 2018
Sep 12, 2024
Aug 30, 2024
Oct 29, 2024
Oct 30, 2023
Mar 24, 2020
May 26, 2020
Mar 24, 2020
May 29, 2024
Sep 18, 2024
Sep 26, 2024
Sep 12, 2024
Apr 16, 2024
Oct 29, 2024

Repository files navigation

MetaMask logo

MetaMask

CI CLA

MetaMask is a mobile wallet that provides easy access to websites that use the Ethereum blockchain.

For up to the minute news, follow our Twitter or Medium pages.

To learn how to develop MetaMask-compatible applications, visit our Developer Docs.

To learn how to contribute to the MetaMask codebase, visit our Contributor Docs.

Documentation

Getting started

Environment setup

Before running the app, make sure your development environment has all the required tools. Several of these tools (ie Node and Ruby) may require specific versions in order to successfully build the app.

Setup your development environment

Building the app

Clone the project

git clone [email protected]:MetaMask/metamask-mobile.git && \
cd metamask-mobile

Firebase Messaging Setup

Before running the app, keep in mind that MetaMask uses FCM (Firebase Cloud Message) to empower communications. Based on this, as an external contributor you would preferably need to provide your own FREE Firebase project config file with a matching client for package name io.metamask, and update your google-services.json file in the android/app directory as well your .env files (.ios.env, .js.env, .android.env), adding GOOGLE_SERVICES_B64 variable depending on the environment you are running the app (ios/android).

The value you should provide to GOOGLE_SERVICES_B64 is the base64 encoded version of your Firebase project config file, which can be generated as follows:

base64 -i ./android/app/google-services-example.json

Copy the result to your clipboard and paste it in the GOOGLE_SERVICES_B64 variable in the .env file you are running the app.

Caution

In case you don't provide your own Firebase project config file, you will face the error No matching client found for package name 'io.metamask'.

You can make usage of a mock file at android/app/google-services-example.json, following the same steps above from the root of the project.

In case of any doubt, please follow the instructions in the link below to get your Firebase project config file.

Firebase Project Quickstart

Install dependencies

yarn setup

Not the usual install command, this will run scripts and a lengthy postinstall flow

Running the app

Run Metro bundler

yarn watch

Like a local server for the app

Run on a iOS device

yarn start:ios

Run on an Android device

yarn start:android