nifty-wallet icon indicating copy to clipboard operation
nifty-wallet copied to clipboard

A fork of MetaMask focused on the usability of real-world applications

Nifty Wallet Browser Extension

Build Status Coverage Status

Introduction

Internal documentation

Building locally

  • Install Node.js version 10.x.x and npm version 6.13.4
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
    • Select npm 6.9.0: npm install -g [email protected]
  • 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

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

  • How to add custom build to Chrome
  • How to add custom build to Firefox
  • How to develop a live-reloading UI
  • How to develop an in-browser mocked UI
  • How to live reload on local dependency changes
  • How to manage notices that appear when the app starts up
  • How to use the TREZOR emulator
  • How to generate a visualization of this repository's development