🌐 🔌 The MetaMask browser extension, enables browsing Ethereum blockchain enabled websites.
JavaScript CSS Other
Switch branches/tags
Clone or download
whymarrh Merge pull request #5058 from whymarrh/fix-words
Fix casing of some proper nouns in localised messages
Latest commit 742aa8b Aug 14, 2018
Failed to load latest commit information.
.circleci test npm i --no-save Jul 21, 2018
.github remove duplicate template (#5016) Aug 9, 2018
.storybook Merge branch 'develop' into i3725-refactor-send-component- May 14, 2018
app Fix casing of Bitcoin, Ethereum, and Litecoin across localized messages Aug 13, 2018
development fix tos link; Jul 12, 2018
docs added TREZOR simulator instructions Jul 14, 2018
mascara Add link to download seed words in new UI Aug 13, 2018
notices fix tos link; Jul 12, 2018
old-ui fix merge conflicts Aug 8, 2018
test tests for migration 28 Aug 9, 2018
ui Add exportAsFile optional type argument Aug 13, 2018
.babelrc Update Babel to Current Standard "babel-preset-env" (#4812) Jul 24, 2018
.dockerignore mascara - ready to deploy via docker Apr 6, 2017
.editorconfig init commit Aug 1, 2015
.eslintignore Update .eslintignore Jul 3, 2018
.eslintrc add QUnit to eslint globals Jul 2, 2018
.gitattributes Fix gitattributes Jun 30, 2016
.gitignore ignore vim files Jul 20, 2018
.nsprc ignore lodash vulnerability Jul 3, 2018
.nvmrc npm 6 fresh lock + node 8 (#4675) Jul 2, 2018
.stylelintignore [WIP] Add packages and tasks for linting scss Aug 14, 2017
.stylelintrc Lint and cleanup all scss Aug 14, 2017
.travis.yml Remove extraneous build target Apr 14, 2016
.yo-rc.json init commit Aug 1, 2015
CHANGELOG.md Bump Changelog Aug 9, 2018
CONTRIBUTING.md update contributing.md Jul 5, 2018
Dockerfile Merge branch 'master' into mascara-deploy Feb 27, 2018
ISSUE_TEMPLATE Merge branch 'master' into NewUI-flat-merge-with-master Dec 7, 2017
LICENSE License Jun 22, 2018
MISSION.md Mission v2 May 29, 2018
README.md Select not Update Jul 30, 2018
USER_AGREEMENT.md fix tos link; Jul 12, 2018
docker-compose.yml mascara - fix words and enviroment vars Nov 2, 2017
fonts Improved Ui Dev Mode Jul 1, 2016
gentests.js fix gentests.js Jul 2, 2018
gulpfile.js eslint --fix . Jul 2, 2018
images Improved Ui Dev Mode Jul 1, 2016
package-lock.json fix merge conflicts Aug 8, 2018
package.json fix merge conflicts Aug 8, 2018


MetaMask Browser Extension

Build Status Coverage Status Greenkeeper badge Stories in Ready


If you're a user seeking support, here is our support site.


Mission Statement

Internal documentation

Developing Compatible Dapps

If you're a web dapp developer, we've got two types of guides for you:

New Dapp Developers

Current Dapp Developers

Building locally

  • Install Node.js version 8.11.3 and npm version 6.1.0
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
    • Select npm 6.1.0: npm install -g npm@6.1.0
  • 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.

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 Diagram


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