Skip to content

Latest commit

 

History

History
79 lines (53 loc) · 5.04 KB

README.md

File metadata and controls

79 lines (53 loc) · 5.04 KB

Brave Ethereum Remote Client Extension

Brave's Ethereum Remote Client is a Chromium extension for interacting with the Ethereum blockchain. It supports transfering ether, working with assets (ERC20 & ERC223, ERC721, ERC1155), and running Dapps. This extension is only meant to be used within Brave.

This extension is based off of MetaMask. Brave plans to keep up to date with this upstream source.

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
    • If you have issues with node-sass compilation, try npm rebuild node-sass
  • 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 from MetaMask 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 run dev:brave

Build for for production

npm install
npm run dist:brave

Publish to npm

npm install
npm run publish:brave

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