Go to file
James Prado 816ce3180f Translation Updates (#1323)
* Update account view routing

* Temporarily add unicode character to translated strings for testing

* Temporarily select add unicode to all untranslated strings

* Format changes

* Add all english translations for /account & /generate

* Add the rest of the english translations

* Add a few more missing translations

* Update en translations

* Get selectedLanguage from localstorage instead of redux sttate

* Update snapshots

* Add missing translation keys & Update translate functs & change variable prefix

* translate all markdown strings & remove old translation strings

* Update snapshot

* Add a few more translation strs

* Move raw strings being translated into json

* All translation keys are now Uppercase

* Fix up the last few translations

* Update snapshot

* Uppercase de translation strings

* Bring back shapeshift logo on swap

* Fix contracts tab translations

* Fix a few more translations

* Fix translations

* remove debugging stuff

* Update snapshots

* Use react.fragment as markdown root renderer

* Seperate markdown translations into their own function

* Clean up translation functions

* Clean up translation functions

* Update snapshot

* Fix some broken translation strings

* Add prettier ignore file
2018-03-21 22:50:25 -05:00
.github Contributor Guidelines (#1054) 2018-02-11 20:59:06 -06:00
common Translation Updates (#1323) 2018-03-21 22:50:25 -05:00
electron-app Add Jenkins Integration (#1295) 2018-03-19 10:42:42 -05:00
jenkins Add Jenkins Integration (#1295) 2018-03-19 10:42:42 -05:00
jest_config Remove all LESS code (#1348) 2018-03-20 15:08:57 -05:00
shared/types Show Recent Txs on Check Tx Page (#1147) 2018-03-14 15:10:14 -05:00
spec Translation Updates (#1323) 2018-03-21 22:50:25 -05:00
static MyEtherWallet -> MyCrypto (#977) 2018-02-06 22:28:28 -06:00
webpack_config Remove all LESS code (#1348) 2018-03-20 15:08:57 -05:00
.editorconfig update .editorconfig 2017-07-04 15:16:08 +04:00
.gitignore Copy to clipboard (#1146) 2018-02-25 14:02:03 -06:00
.npmrc Update dependencies to enable Greenkeeper 🌴 (#344) 2017-11-07 15:59:27 -08:00
.nvmrc Update Readme, bump nvmrc (#954) 2018-01-29 12:24:20 -06:00
.prettierignore Translation Updates (#1323) 2018-03-21 22:50:25 -05:00
.prettierrc Ensure CI fails on non-prettier compliant PRs (#693) 2018-01-01 17:51:18 -06:00
.travis.yml Improve CI Performance (#971) 2018-02-01 01:03:36 -06:00
LICENSE MyEtherWallet -> MyCrypto (#977) 2018-02-06 22:28:28 -06:00
README.md Add Coveralls Badge (#1093) 2018-02-14 15:21:02 -06:00
package.json fix(package): update electron-updater to version 2.21.1 (#1338) 2018-03-21 14:45:05 -05:00
tsconfig.json Enable no-implicit-any (#1263) 2018-03-07 17:36:05 -06:00
tslint.json MEW-01-005 Web - Remove all HTTP links (#978) 2018-02-01 16:51:14 -06:00

README.md

MyCrypto Beta (VISIT MyCryptoHQ/mycrypto.com for the current site)
Just looking to download? Grab our latest release

Greenkeeper badge Coverage Status

Running the App

This codebase targets Node 8.9.4 (LTS). After npm installing all dependencies (You may be required to install additional system dependencies, due to some node modules relying on them) you can run various commands depending on what you want to do:

Development

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

Build Releases

# builds the production server app
npm run build
# builds the downloadable version of the site
npm run build:downloadable
# builds the electron apps
npm run build:electron

# builds only one OS's electron app
npm run build:electron:(osx|linux|windows)

All of these builds are output to a folder in dist/.

Unit Tests:

# run unit tests with Jest
npm run test

Integration Tests:

# run integration tests with Jest
npm run test:int

Dev (HTTPS):

Some parts of the site, such as the Ledger wallet, require an HTTPS environment to work. To develop on HTTPS, do the following:

  1. Create your own SSL Certificate (Heroku has a nice guide here)
  2. Move the .key and .crt files into webpack_config/server.*
  3. Run the following command:
npm run dev:https

Address Derivation Checker:

EthereumJS-Util previously contained a bug that would incorrectly derive addresses from private keys with a 1/128 probability of occurring. A summary of this issue can be found here.

As a reactionary measure, the address derivation checker was created.

To test for correct address derivation, the address derivation checker uses multiple sources of address derivation (EthereumJS and PyEthereum) to ensure that multiple official implementations derive the same address for any given private key.

The derivation checker utility assumes that you have:
  1. Docker installed/available
  2. dternyak/eth-priv-to-addr pulled from DockerHub
Docker setup instructions:
  1. Install docker (on macOS, Docker for Mac is suggested)
  2. docker pull dternyak/eth-priv-to-addr
Run Derivation Checker

The derivation checker utility runs as part of the integration test suite.

npm run test:int

Folder structure:

│
├── common
│   ├── actions - Application actions
│   ├── api - Services and XHR utils
│   ├── assets - Images, fonts, etc.
│   ├── components - Components according to "Redux philosophy"
│   ├── config - Various config data and hard-coded json
│   ├── containers - Containers according to "Redux philosophy"
│   ├── libs - Framework-agnostic libraries and business logic
│   ├── reducers - Redux reducers
│   ├── sagas - Redux sagas
│   ├── sass - SCSS styles, variables, mixins
│   ├── selectors - Redux selectors
│   ├── translations - Language JSON dictionaries
│   ├── typescript - Typescript definition files
│   ├── utils - Common use utility functions
│   ├── index.tsx - Entry point for app
│   ├── index.html - Html template file for html-webpack-plugin
│   ├── Root.tsx - Root component for React
│   └── store.ts - Redux reducer combiner and middleware injector
├── electron-app - Code for the native electron app
├── jest_config - Jest testing configuration
├── spec - Jest unit tests, mirror's common's structure
├── static - Files that don't get compiled, just moved to build
└── webpack_config - Webpack configuration

More information is available on the Wiki Pages

Thanks & Support

Cross browser testing and debugging provided by the very lovely team at BrowserStack.