🌐 🔌 The MetaMask browser extension, enables browsing Ethereum blockchain enabled websites.
Branch: develop
Clone or download
Pull request Compare This branch is 129 commits behind MetaMask:develop.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci
.github
.storybook
app
development
docs
mascara
notices
old-ui
test
ui
.babelrc
.dockerignore
.editorconfig
.eslintignore
.eslintrc
.gitattributes
.gitignore
.nvmrc
.stylelintignore
.stylelintrc
.travis.yml
CHANGELOG.md
CONTRIBUTING.md
Dockerfile
ISSUE_TEMPLATE
LICENSE
MISSION.md
README.md
USER_AGREEMENT.md
auto-changelog.sh
docker-compose.yml
fonts
gentests.js
gulpfile.js
images
package-lock.json
package.json

README.md

MetaMask Browser Extension

Build Status Coverage Status Stories in Ready

You can find the latest version of MetaMask on our official website.

For help using MetaMask, visit our User Support Site.

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 project itself, visit our Internal Docs.

Building locally

  • Install Node.js version 8 and the latest available npm@6
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
    • If you install Node.js manually, ensure you're using npm@6
      • Install npm@6 using npm install -g npm@6
  • Install dependencies: npm install
  • Install gulp globally with npm install -g gulp-cli.
  • Build the project to the ./dist/ folder with gulp build.
  • Optionally, to rebuild on file changes, run gulp dev.
  • To package .zip files for distribution, run gulp zip, or run the full build & zip with gulp dist.

Uncompressed builds can be found in /dist, compressed builds can be found in /builds once they're built.

Contributing

You can read our internal docs here.

You can re-generate the docs locally by running npm run doc, and contributors can update the hosted docs by running npm run publish-docs.

Running Tests

Requires mocha installed. Run npm install -g mocha.

Then just run npm test.

You can also test with a continuously watching process, via npm run watch.

You can run the linter by itself with gulp lint.

Architecture

Architecture Diagram

Development

npm install
npm start

Build for Publishing

npm run dist

Writing Browser Tests

To write tests that will be run in the browser using QUnit, add your test files to test/integration/lib.

Other Docs