The Emerald Wallet is an ETC wallet allowing users to create, sign, and manage transactions and accounts. The wallet is integrated with Emerald SDK and will have ongoing features for developer users.
Download and install the latest release of the Emerald Wallet for your operating system from https://github.com/ETCDEVTeam/emerald-wallet/releases
Upon first opening the Emerald Wallet application, users have an option to generate a new ETC account or add an existing ETC account using keystore file, private key, and ledger nano s.
When generating or adding an ETC account, Emerald Wallet will require a password. This password will be used to sign transactions on behalf of that particular account.
Current block height of network
Node selection (full node, light node, test net node)
Settings (currency, language, hidden accounts, confirmations)
Account export (paper wallet, private key)
Accounts and Tokens (additional account and token options as well as address book)
Deposit and Send buttons (ETC or Tokens)
Emerald Wallet will download and sync a Full Node by default. This could take longer than desired for some users. To use a Light Node, use the node selector.
The settings menu allows a user to change the equivalent fiat currency in the App Bar, change language, show hidden accounts, and set transaction confirmation preference.
The account export button,
• • •, allows a user to export a backup of their wallet. Users may choose to Hide the account. Any hidden accounts can be set to show by visiting Settings.
+ Accounts and Tokens menu allows a user a variety of account import options as well as adding a token by address. Many users may appreciate the Address Book feature 😊.
Following an account's info is the deposit and send buttons enabling a user to receive and send value.
Transactions associated with the wallet's accounts are shown in the transaction history as well as confirmation status.
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
If you haven’t got
emerald already installed on your system, you can execute
./dependencies.sh to automatically
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 use cargo’s
-f flag to force install
emerald-cli and copy that version to the project directory.
If geth isn’t available in your project directory, upon launching the app, it automatically be downloaded and placed in your project base dir.
Firstly: a couple things aren’t working right. If you can fix either of these issues, @whilei will buy you a beer.
webpack-dev-server isn’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
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
License Apache 2.0