/MyCrypto

MyCrypto is an open-source, client-side tool for generating ether wallets, handling ERC-20 tokens, and interacting with the blockchain more easily.

Primary LanguageTypeScriptMIT LicenseMIT

MyCrypto Beta Web App

Build Status Coverage Status

This repo stores both the beta and production versions of the MyCrypto codebase.

The default master branch represents the beta code hosted on beta.mycrypto.com

The legacy branch represents the production code hosted on mycrypto.com

Documentation can be found in our wiki

Development / Build Requirements

  • Node 12.14.1*
  • Yarn >= 1.19.1**
  • Python 2.7.X***

*Higher versions should work fine, but may cause inconsistencies.
**npm is NOT supported for package management. MyCrypto uses yarn.lock to ensure sub-dependency versions are pinned, so yarn is required to install node_modules
***Python 3 is not supported, since our dependencies use node-gyp.
***For users trying to build with WSL, you'll need to have install libpng via sudo apt-get install libpng16-dev.

Running the App

First, you must run yarn to grab all the dependencies. If you are ever having trouble with something, a good place to start is by trying rm -rf node_modules/ && yarn which will completely clear all your previously installs dependencies and re-install them from scratch.

Then, you can run various commands depending on what you want to do:

Development

# run app in dev mode in browser, rebuild on file changes
yarn start

A development server will be available on https://localhost:3000 If you're using Chrome, you will get a net::ERR_CERT_AUTHORITY_INVALID warning. To disable it you can your settings in chrome: chrome://flags/#allow-insecure-localhost

# run app in dev mode in electron, rebuild on file changes
yarn dev:electron

Staging

# builds production app version used on mycryptobuilds.com 
yarn build:downloadable