NOTE: This project is still in development, not all components are functional.
The purpose of eth-local is to offer a standardized way to store your keystore files on your local machine.
The core functionality of this application is the ability of the cli to safely transmit pre-signed tx to a website without the need of having Metamask installed on the browser. The cli runs a simple HTTP server which allows the npm module to connect to it.
./cli is the CLI as well as an express server that can be run optionally.
./web is a create-react-app and will serve as testing ground for the npm module that will interact with the express server in the CLI.
./client is intended to be a daemon (currently just a node app) that initiates an electron app to prompt the user for their password.
Start the cli by running
cd cli && npm i && node app.js. You will prompted with all availible options. In necessary initiate keystore and create a key pair.
Start the dev web app server by running
cd web && npm i && npm start.
Following the instructions in the dev web app will initiate the elctron prompt.
- Generate a wallet
- Encrypt a wallet
- Mnemonic support
- Proof of HTTP connection from client <-> cli made
- Get balance
- Transfer eth
- Electron prompt
- Transaction signing
- Uses the spawn() library to launch electron prompt (see
- stdin/out are supposed to provide data to and from the electron prompt (WIP)
/uiis the UI for the electron app, standard create-react-app
/appis the deployable part, which includes a production build of
ui/(TODO: Setup linkage or change structure so we don't have to copy build from
app/main.jsis the electron app. This is where you can configure it.
- Launching the electron app on its own may be troublesome, you must run it with electron (eg.
- This is just a front end for testing purposes
Interested in lending a hand? Reach out to
david at chainsafe dot io:)