A Metamask fork with Infura removed and default networks editable
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Mark Stacey 049df23104 Update `extend` to address npm audit advisory (#6907) 5 years ago
.circleci Add scripts to automate GitHub releases (#6653) 5 years ago
.github Add Mark Stacey (Kyokan) to UI CodeOwners (#6798) 5 years ago
.storybook Add storybook README.md file 7 years ago
app Check balance before testing it w/ isZero (#6898) 5 years ago
development Serve CSS as an external file (#6894) 5 years ago
docs Abstract domain provider from its stream transport (#6670) 5 years ago
test Remove Drizzle tests (#6855) 5 years ago
ui Single asset dropdown fix (#6900) 5 years ago
.babelrc Remove Babel transformations for older browser versions (#6812) 5 years ago
.dockerignore mascara - ready to deploy via docker 8 years ago
.editorconfig Clean EditorConfig file 6 years ago
.eslintignore Lint `.json` files (#6852) 5 years ago
.eslintrc Remove unused expressions (#6839) 5 years ago
.gitattributes Show lockfile diffs on GitHub (#6857) 5 years ago
.gitignore Add scripts to automate GitHub releases (#6653) 5 years ago
.nvmrc Update to Node.js v10 5 years ago
.stylelintignore mascara - remove from project (#6283) 6 years ago
.stylelintrc Lint and cleanup all scss 7 years ago
CHANGELOG.md Merge pull request #6832 from MetaMask/master-rebased 5 years ago
CONTRIBUTING.md update contributing.md 6 years ago
ISSUE_TEMPLATE Merge branch 'master' into NewUI-flat-merge-with-master 7 years ago
LICENSE License 6 years ago
MISSION.md Mission v2 7 years ago
README.md Improve the Redux DevTools documentation (#6882) 5 years ago
USER_AGREEMENT.md fix tos link; 6 years ago
fonts Improved Ui Dev Mode 8 years ago
gentests.js Check for unused function arguments (#6583) 6 years ago
gulpfile.js Serve CSS as an external file (#6894) 5 years ago
images Improved Ui Dev Mode 8 years ago
package-lock.json Update `extend` to address npm audit advisory (#6907) 5 years ago
package.json Resolve onion addresses (#6869) 5 years ago

README.md

MetaMask Browser Extension

Build Status Coverage Status

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 10 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 ci
    • If you have issues with node-sass compilation, try npm rebuild node-sass
  • Build the project to the ./dist/ folder with npm run dist.
  • Optionally, to start a development build (e.g. with logging and file watching) run npm start instead.
    • To start the React DevTools and Redux DevTools Extension alongside the app, use npm run start:dev.
      • React DevTools will open in a separate window; no browser extension is required
      • Redux DevTools will need to be installed as a browser extension. Open the Redux Remote DevTools (shown in the context menu and in the extension menu) to access Redux state logs.
        • You will also need to check the "Use custom (local) server" checkbox in the Remote DevTools Settings, using the default server configuration (host localhost, port 8000, secure connection checkbox unchecked)

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

Run tests with npm test.

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

You can run the linter by itself with npm run 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