Skip to content

A react-native hot wallet that communicates with geth node.

License

Notifications You must be signed in to change notification settings

evenchange4/ethereum-hot-wallet

Repository files navigation

Ethereum Hot Wallet

A react-native hot wallet that communicates with geth node.

Travis Codecov Status license

There are two parts in this monorepo application:

  1. RESTful Server: A micro-service of geth RPC interface.
  2. Mobile: React-native client.

Demo

Screenshot:

mobile

Technology Stack

  • Micro - Micro HTTP server
  • Create-react-native-app - Zero configuration
  • Ant design - Native mobile UI
  • Docker

Setup

Download full node of the main Ethereum network on your computer:

$ brew tap ethereum/ethereum
$ brew install ethereum
$ geth --rpc --rpcaddr localhost --rpcport 8545 --rpcapi "eth,net,web3,admin"
> http://localhost:8545

Add admin HTTP-RPC interface for web3.js.

Screenshot:

geth

Development

  • node >= v10.8.0
  • yarn >= 1.9.4

Server

# Development
$ cd packages/server
$ cp .env.example .env # input your own config
$ npm run dev

# Production
$ npm run build
$ npm start

# or use docker
$ docker build -t ethereum-hot-wallet/server .
$ docker run --rm -it \
  -p 3000:3000 \
  -e "PORT=3000" \
  -e "DEBUG=server" \
  -e "NODE_RPC_DOMAIN=http://localhost:8545" \
  ethereum-hot-wallet/server

Endpoint example:

Rate-limiting 1 requests per sec.

Variable Default Description
PORT
DEBUG for npm debug
NODE_RPC_DOMAIN Domain name of geth RPC

Screenshot:

server


Mobile

$ cd packages/mobile
$ cp .env.example .env # input your own config
$ npm run ios
Variable Default Description
API_DOMAIN Domain name of server

CONTRIBUTING

  • ⇄ Pull requests and ★ Stars are always welcome.
  • For bugs and feature requests, please create an issue.
  • Pull requests must be accompanied by passing automated tests.

MIT: http://michaelhsu.mit-license.org

About

A react-native hot wallet that communicates with geth node.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published