diff --git a/README.md b/README.md index 5e55a46..bf512c5 100644 --- a/README.md +++ b/README.md @@ -1,31 +1,81 @@ -# exchange-market - Exchange market for FLO to rupee# and vise-versa +# Exchange-Market + Exchange market for trading assets (FLO and tokens) using rupee# -## Run `commands` ---------------- +## Installation +### Pre-requisite +- [X] Nodejs `version >= 12.9` (`--lts` recommended) +- [X] MySQL Server `version > 8.0` + +### Download +Download the repository using git: ``` -npm install - Install the app and node modules. -npm run help - List all commands. -npm run setup - Finish the setup (configure and reset password). -npm run configure - Configure the app. -npm run reset-password - Reset the password (for private-key). -npm run create-schema - Create schema in MySQL database. - -npm start - Start the application (main). +git clone https://github.com/ranchimall/exchange-market.git ``` -**NOTE:** -Argument `PASSWORD` required for `npm start`. + +### Install +Install using npm: +``` +cd exchange-market +npm install +``` +Finish the configuration when prompted + +### Configuration + +#### General Configuration +If not finished during installation, or to re-configure use: +``` +npm run configure +``` +- **port**: Port of the server to run on +- **session secret**: A random session secret. (Enter `YES` to automatically randomize it) + +- **MySQL host**: Host of the MySQL server (default: ***localhost***) +- **Database name**: Database in which the data should be stored (``) (default: ***exchange***) +- **MySQL username**: Username for MySQL (``) +- **MySQL password**: Password for MySQL (``) + +***Recommended*** *(optional)* Create and use a MySQL user instead of root. Remember to give access to the database to the user. + +#### Set/Reset Node key password +If not set during installation, or to reset password, use: +``` +npm run reset-password +``` +- **private key**: Private key of the node +- **password**: Password to set for the node (``) + +**Note**: Private key of the node is encrypted using the ``. Thus use a ***strong*** password. + +### Create Database Schema (MySQL) +Create database schema in MySQL +``` +CREATE DATABASE ; +USE ; +SOURCE args/schema.sql; +``` +***Recommended*** *(optional)* Create a MySQL user and grant permissions +``` +CREATE USER ''@'localhost' IDENTIFIED WITH mysql_native_password BY ''; +GRANT ALL PRIVILEGES ON .* TO ''@'localhost'; +FLUSH PRIVILEGES; +``` + +### More +For help or list of all commands, use +``` +npm run help +``` + +## Starting the Server +After successful installation and configuration using the above steps, Exchange-Node can be started using: ``` npm start -- -PASSWORD= ``` -*(Optional)* -Multiple instance can be run/setup on the same dir with different config files by using argument 'I'. -``` - -- -I= -``` + *(Optional)* `console.debug` is now turned off by default. pass argument `--debug` to turn it on ``` npm start -- -PASSWORD= --debug -``` \ No newline at end of file +```