Code Monkey home page Code Monkey logo

etherwallet's Introduction

etherwallet

EtherWallet is an open source, javascript, client-side tool for generating Ether wallets. It was created by kvhnuke and tayvano aka supergeniustay.

It was created because many users were having immense trouble setting up the ethereum client on their computers. Therefore, we am planning to implement following features to the browser-based wallet.

  • Bulk generate wallets
  • import client wallet files and presale wallet files.
  • generate transactions from the imported wallet files
  • send transactions

We hope that it'll help most of us to accomplish day to day tasks without having a fully running client.

If you can think of any other features or run into bugs, let us know. You can fork, open a PR, open an issue, message kvhnuke on reddit, email tayvano or however else you can track us down.

Developing

Want to contribute? Great! Have questions? Ask us! Have issues? Open an issue!

Using Gulp

EtherWallet uses gulp to compile, minify, and uncss the less and to concatonate and uglify the JS. It watches all the files and works its magic when needed. A full list of packages we are using can be found below. If you aren't familiar with gulp, maybe google it first. The basics on how to use gulp are below.

  1. Make sure you have a fairly recent version of node.js & npm installed. You can check using:
$ npm -v
$ node -v
  1. Globally install gulp. You may need to sudo if you are on mac / linux:
$ npm install gulp -g
$ sudo npm install gulp -g
  1. Make sure gulp is installed:
$ gulp -v
  1. cd into the project folder
$ cd path/to/project
  1. install node_modules into the project directory
$ npm install
  1. Running the default gulp task will run and watch all the required folders and update when necessary.
$ gulp

A list of packages we are using with gulp:

  • gulp-less - compiles the less
  • gulp-autoprefixer - autoprefixes
  • gulp-minify-css - minifies the css once the less is compiled
  • gulp-notify - notifies when things get compiled, minified, uglified, etc. Also notifies you (sometimes) on errors.
  • gulp-rename - renames to .min.css etc.
  • gulp-uncss - gets rid of the bloat by eliminating any unsued CSS styles. If you add an HTML page, you will need to add it to the gulpfile.js
  • gulp-concat - concats the js
  • gulp-uglify - uglifies the js
Less / CSS

This project uses Twitter Bootstrap as a base. But, we're lazy so we just edit the bootstrap files when necessary. You can too. In the end, all unused CSS rules are removed using the gulp-uncss, which keeps Bootstrap from being bloated.

If you want to edit the styling, you will mostly want to access the following files:

  • etherwallet-variables.less - all our bootstrap variables and custom variables go here. we do not use the variables.less in the bootstrap folder.
  • etherwallet-custom.less - all custom rules or overrides go here.
  • etherwallet-utilities.less - this is a group of utilties that I use on all my projects. Text color, background color, and vertical margins / padding live here. Feel free to add to it.
  • etherwallet-master.less is the file that brings all our files together.

Don't forget, if you add an additional HTML page, you will need to add it to the gulpfile.js

  .pipe(uncss({
    html: [
      './index.html',
      './newHTMLFile.html',
      './anotherNewHTMLFile.html'
    ]
  }))
JS

This project loads JQuery 1.11.3 and then a minified JS file that is composed of the files found in /js/source/*.js. As long as you add any additional JS files to the /js/source/ folder, gulp will handle it automatically.

ToDo

  • Maybe clean up that Gulp file. It's becoming unwieldy.
  • QA and bugfixes for every browser except Chrome.
  • Test the import functionality of client wallet files and presale wallet files.
  • Test generate transactions from the imported wallet files.
  • Test send transactions.
  • Compile and submit solity contracts.
  • Make help page. This should cover everything a basic user who bought ether presale would need to know to get that ether to another place. It should assume they know essentially nothing and are not familiar with command line. It should also cover safety and best practices and provide helpful links.

Official link MyEtherWallet Content of this site is hosted in github which will gurantee the validity of the source code

etherwallet's People

Contributors

kvhnuke avatar tayvano avatar

Watchers

James Cloos avatar Jurgutis Vytautas Daukantas 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.