PaulLaux / eth-hot-wallet

Ethereum wallet with erc20 support / web wallet - built using react, web3, eth-lightwallet
https://eth-hot-wallet.com/
MIT License
301 stars 188 forks source link
antd coinmarketcap erc20 eth ethereum infura react react-boilerplate redux-saga web-wallet web3 webpack3

ETH-Hot-Wallet

Ethereum wallet with ERC20 support - A web wallet

eth-hot-wallet ethereum wallet preview

https://eth-hot-wallet.com

Technical review article: How to build an Ethereum Wallet web app (Medium)

Created by Paul Laux, @dr_laux for announcements

Core components

API Providers

Features

ERC20 wallet and native token support

Eth-hot-wallet supports erc20 tokens. From the user side, the tokens will have the same look and feel like Ether. To interact with contracts, we use

web3.eth.contract(erc20Abi)

Like all other network communication in the wallet, calls to erc20 contracts are done inside app/containers/Header/saga.js. ERC20 Abi can be imported using

import { erc20Abi } from 'utils/contracts/abi';

Todo

Development

4 Major containers were created:

eth-hot-wallet send token preview

eth-hot-wallet erc20 token chooser preview

npm scripts for eth-hot wallet:

npm run build:dll to build webpack DLL required for development.

npm run start to start development mode. Go to http://localhost:3001 - changes will be reflected in realtime using hot module reloading.

npm run build to create bundle for publishing

npm run generate to create new components / containers using the generator.

For more documentation regarding the react setup see react-boiledplate docs here or in the official repo.

After build, webpack monitor will generate stats about bundle size:

eth-hot-wallet webpack-monitor

License

This project is licensed under the MIT license, Copyright (c) 2017 Paul Laux For more information see LICENSE.md.