METAMASK DESKTOP IS AN EXPERIMENTAL FEATURE.
IT CAN ONLY BE USED WITH FLASK, THE CANARY DISTRIBUTION OF THE METAMASK EXTENSION, INTENDED FOR DEVELOPERS.
The MetaMask Desktop app is one of many experiments we are exploring to improve our extension-driven experiences. The Desktop app improves the overall performance of the extension when using the Flask build.
This is useful for use cases like the execution of complex Snaps (e.g. zk-related Snaps), which are very demanding in terms of processing power.
You can find the latest version of MetaMask Desktop app on our releases page.
For help using MetaMask Desktop, or for general questions, feature requests, and developer questions, see the Discussions tab.
This repo is a monorepo organised in workspaces:
Name | Description |
---|---|
app | The MetaMask Desktop app, built with Electron, which can be paired with the Flask extension to improve its overall performance. |
common | The JavaScript library used by the Flask extension to connect to the Desktop app. |
-
Install Node.js version 16
- If you are using nvm (recommended) running
nvm use
will automatically choose the right node version for you.
- If you are using nvm (recommended) running
-
Install Yarn.
-
Install dependencies for all packages:
yarn
yarn setup
-
Specify your personal Infura Project ID after
INFURA_PROJECT_ID=
inpackages/app/.env
andpackages/app/submodules/extension/.metamaskrc
. -
Build both the MetaMask Desktop app and the Flask extension (wait until you see "The watcher is ready." logged in the console):
yarn build
- Start the MetaMask Desktop app:
yarn app start
-
Add the Flask extension to your browser:
-
Pair the Desktop app with the Flask extension:
- Open the Flask extension.
- Go to
Settings > Experimental
. - Click
Enable Desktop app
. - Enter the 6-digit code, visible in the Flask extension, in the Desktop app.
If you see "All set Fox" message displayed in your Desktop app, it means you're good to go! 🚀🚀🚀
Your MetaMask Desktop app now acts as a companion app for your Flask extension which shall improve its overall performance.
Run a script for a specific package:
yarn [package] [script]
e.g. yarn app package:mac