Skip to content
This repository has been archived by the owner on Oct 22, 2024. It is now read-only.
/ metamask-desktop Public archive

🖥️ The MetaMask Desktop app is a companion app that improves the overall performance of the MetaMask Extension Flask build

Notifications You must be signed in to change notification settings

MetaMask/metamask-desktop

Repository files navigation

MetaMask Desktop

⚠️⚠️⚠️

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.

Audit report for the MetaMask Desktop app can be found here.

Monorepo

This repository is a monorepo organised into 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.

To run a script for a specific package:

yarn [package] [script]

e.g. yarn app package:mac

Getting Started

  1. Install Node.js version 16

    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
  2. Install Yarn.

  3. Install dependencies for all packages:

yarn
yarn setup
  1. Specify your personal Infura Project ID after INFURA_PROJECT_ID= in packages/app/.env and packages/app/submodules/extension/.metamaskrc.

  2. Build both the MetaMask Desktop app and the Flask extension (wait until you see "The watcher is ready." logged in the console):

yarn build
  1. Start the MetaMask Desktop app:
yarn app start
  1. Add the Flask extension to your browser:

    • Select the build in the packages/app/submodules/extension/dist folder.
    • Follow the following intrustions for Chrome or the following instructions for Firefox.
  2. 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.

Additional Documentation