Giter VIP home page Giter VIP logo

emerald-wallet's Introduction

Emerald - Ethereum Classic Wallet

Travis CI Build Status License

Development instructions

The supported version of node is v6. If you run into build errors, please make sure that you are using NodeV6 by running node --version.

package.json: This is where scripts that get run when you use npm run blah get defined. It’ll be helpful to have an idea of what’s available and where the magic npm run commands are coming from. You can run any of those commands without the npm run meta-command.

Dependencies

NPM packages

This will install dependencies saved in package.json under the devDependencies field. You’re going to need these.

$ npm install

If you wind up installing more packages, please - be sure that they’re really important — we’d like to avoid a pile of "convenience" packages; every required package adds complexity. - use npm install totally-awesome-and-important along with --save or --save-dev. That way everyone else will be able to reproduce your totally-awesomely-improved setup.

Emerald and geth

Emerald

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.

Geth

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.

  • Issue 1: 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:

Terminal 1

# This will begin a live-watching compiler for ./src/ and ./electron/ folders
$ npm run build:all

Terminal 2

# This will begin the simulated electron app pulling from those compiled sources.
$ npm run start:electron

Logs

Electron and Emerald logs

During development, Electron and Emerald logs are in your Terminal 2 console, they’re also persisted in ~/Library/Logs/EmeraldWallet/log.log. This is the same for production.

Geth logs

During development, you’ll find geth’s logs in ./logs right in the project base directory. In production, logs will be nestled in ~/Library/Application Support/EmeraldWallet/.

Building alternatively

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 ./src/ and ./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 CSC_IDENTITY_AUTO_DISCOVERY=false.

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.

Troubleshooting

Some preliminary things to try in case you run into issues:

  • rm -rf ~/Library/Application Support/EmeraldWallet to clear out any persisted settings or userdata from previous trials.

Run tests

npm run test:watch

or for single run:

npm test

Parity

./parity --chain=classic

Use --rpccorsdomain option to configure CORS.

Example: ./parity --chain=classic --rpccorsdomain=* allow requests from any domain

License

Apache 2.0

emerald-wallet's People

Contributors

elaineo avatar gagarin55 avatar r8d8 avatar sorpaas avatar splix avatar whilei avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.