Emerald - Ethereum Classic Wallet
The recommended way to assert that you are using the correct version of node is to use nodenv, which will shim the
npm commands and assert that the
local version is set to what is specified in .node-version.
Once nodenv is installed:
$ nodenv install
The supported version of
v6. If you run into build errors, please make sure that you are using NodeV6 by running
This will install dependencies saved in
$ npm run setup
Emerald and geth
If you haven’t got
emerald already installed on your system, you can execute
rustup and use
cargo to install
emerald-cli and move it to the
project’s base dir. Note: this command is idempotent for rust and cargo (it won’t
try to install cargo if you’ve already got it), but it will
-f flag to force install
emerald-cli and copy that version to the
If geth isn’t available in your project directory, upon launching the app, it automatically be downloaded and placed in your project base dir.
Run for development
Firstly: a couple things aren’t working right. If you can fix either of these issues, @whilei will buy you a beer.
webpack-dev-serverisn’t working right with the current babel-webpack-electron-izing setup. So you’ve got to do your development in Electron for now. Which means you can’t run
npm run start:web. Bummer.
With these caveats in mind, you can run:
# This will begin a live-watching compiler for ./src/ and ./electron/ folders $ npm run build:all
# This will begin the simulated electron app pulling from those compiled sources. $ npm run start:electron
Electron and Emerald logs persisted in:
During development, you’ll find geth’s logs in
./logs right in the project base directory.
In production, logs will be nestled in
You can also use a variety of alternate build options, eg.
$ npm run build:all:nowatch $ npm run build:web
Building distributions in development
You can run a distribution build in your development environment. Assuming
you’ve already compiled
./electron/, you’ll be able to run:
$ npm run dist
This command will build for your current system. Note that there are configurations for
several systems (OSX, Linux, Windows) specified in the
"build" field of
package.json, but the
dist command will by default only build for the system it’s on.
Note: If you’re developing on OSX and have a developer signing identity on your machine, you can
optionally disable that with
OSX is also able to build for Linux. Add
-ml to that raw command to build for
both OSX and Linux at the same time.
Some preliminary things to try in case you run into issues:
Clear out any persisted settings or userdata from previous trials
npm run test:watch
or for single run:
Chat with us via Gitter