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.
- Architecture
- Development Environment Setup
- Build Troubleshooting
- Testing
- Debugging
- Storybook
- Miscellaneous
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
Clone the project
git clone git@github.com: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, would be preferable that you provide your own Firebase project config file 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).
ATTENTION: In case you don't provide your own Firebase project config file, you can make usage of a mock file at android/app/google-services-example.json
, following the steps below from the root of the project:
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.
In case of any doubt, please follow the instructions in the link below to get your Firebase project config file.
Install dependencies
yarn setup
Not the usual install command, this will run scripts and a lengthy postinstall flow
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