From e698de220c30c019182578b1ad9a6ac3ec5b4251 Mon Sep 17 00:00:00 2001 From: Ekene Eze Date: Wed, 11 Sep 2024 17:23:42 +0400 Subject: [PATCH 1/2] Update README.md This PR removes the CLI docs from the GUI, Includes a prerequisites section to define requires services and refines the flow of information through the document --- README.md | 209 ++++++++++++++++-------------------------------------- 1 file changed, 61 insertions(+), 148 deletions(-) diff --git a/README.md b/README.md index c42f92d..50cd561 100644 --- a/README.md +++ b/README.md @@ -1,196 +1,109 @@ -# Overview +# Shardeum Validator GUI -The Operator CLI is a command line tool for managing a validator instance on a Shardeum network. The Operator CLI tool also collects debug data from running Shardus app network. +## Overview -## Getting Started with Local Development +The Shardeum Validator GUI provides a user-friendly graphical interface for managing nodes on the Shardeum network. This tool simplifies the process of monitoring and controlling your nodes, making it easy and accessible to all users of varying experiences. -Before running Shardus CLI, it's essential to set up the Shardeum server. Detailed instructions for this setup can be found in the [Shardeum README](https://github.com/shardeum/shardeum). +## Prerequisites -### Cloning and Preparing the CLI +Before setting up the Validator GUI, ensure you have the following components installed and configured: -Clone the Shardus CLI repository and navigate into the project directory: +1. [Shardeum server](https://github.com/shardeum/shardeum) +2. [JSON RPC server](https://github.com/shardeum/json-rpc-server) +3. [Shardeum Validator CLI](https://github.com/shardeum/validator-cli) (configured) -```bash -git clone git@github.com:shardeum/validator-cli.git -cd validator-cli -``` +## Installation and Setup -The validator CLI typically requires a symlink to the Shardeum repo at a specific path. If you're running the CLI manually, ensure the symlink is set up correctly: +### 1. Clone the Repository ```bash -ln -s /path/to/shardeum/repo ../validator -ls ../validator # Should print the shardeum repo +git clone git@github.com:shardeum/validator-gui.git gui +cd gui ``` -### Installing Dependencies - -Install the necessary dependencies and link the CLI for global accessibility: +### 2. Install Dependencies ```bash -npm ci && npm link -``` - -### Utilizing the Shardus CLI - -You can customize network configuration in [default-network-config.ts](./src/config/default-network-config.ts) file. After configuring, make sure to compile again using `npm run compile`. - -`default-network-config.ts` config for running a local network node: - -```ts -export const defaultNetworkConfig = { - server: { - baseDir: '.', - p2p: { - existingArchivers: [ - { - ip: '127.0.0.1', - port: 4000, - publicKey: - '758b1c119412298802cd28dbfa394cdfeecc4074492d60844cc192d632d84de3', - }, - ], - }, - ip: { - externalIp: '127.0.0.1', - externalPort: 9050, - internalIp: '127.0.0.1', - internalPort: 10045, - }, - reporting: { - report: true, - recipient: 'http://localhost:3000/api', - interval: 2, - console: false, - }, - }, -}; -``` - -For running on the live Atomium network, use: - -```json -export const defaultNetworkConfig = { - server: { - baseDir: '.', - p2p: { - existingArchivers: [ - { - ip: '198.58.110.213', - port: 4000, - publicKey: - 'd34b80a5a6f9638b7c75d6eb6e59d35d9a3e103f1877827eebbe973b8281f794', - }, - { - ip: '3.73.66.238', - port: 4000, - publicKey: - '7af699dd711074eb96a8d1103e32b589e511613ebb0c6a789a9e8791b2b05f34', - }, - { - ip: '35.233.225.113', - port: 4000, - publicKey: - '59c3794461c7f58a0a7f24d70dfd512d4364cd179d2670ac58e9ae533d50c7eb', - }, - ], - }, - ip: { - externalIp: '127.0.0.1', - externalPort: 9001, - internalIp: '127.0.0.1', - internalPort: 10001, - }, - reporting: { - report: true, - recipient: 'http://localhost:3000/api', - interval: 2, - console: false, - }, - }, -}; +npm install ``` -#### Starting the CLI +### 3. Configure Environment -To initiate the Shardus CLI, run: +Create a `.env` file in the root directory with the necessary environment variables. For a local network setup, use: -```bash -operator-cli start ``` - -### Set password for logging into the GUI - -```bash -operator-cli gui set password 123456 #log into the GUI with 123456 as your password -``` - -#### Checking CLI Status - -```bash -operator-cli status +NEXT_PUBLIC_RPC_URL=http://127.0.0.1:8080 +PORT=8081 +RPC_SERVER_URL=http://127.0.0.1:8080 ``` -For a complete list of node commands, check the [node-commands.ts](./src/node-commands.ts) file. - -For GUI-related commands, refer to the [gui-commands.ts](./src/gui-commands.ts) file. - -## Getting Started with Local Development +Note: Adjust these values according to your specific network configuration. -Before running Shardus CLI, it's essential to set up the [Shardeum server](https://github.com/shardeum/shardeum), [JSON RPC server](https://github.com/shardeum/json-rpc-server) and configure [CLI](https://github.com/shardeum/validator-cli) with updated node details. +### 4. Link Operator CLI and Set Environment ```bash -git clone git@github.com:shardeum/validator-gui.git -cd validator-gui +npm link operator-cli +export NODE_ENV=development ``` -### Install Dependencies +### 5. Build and Launch ```bash -npm install +npm run build +npm run start ``` -### Set Environment Variables & Link to Operator CLI +### 6. Access the Dashboard + +Open your web browser and navigate to `http://localhost:8081` (or the port you specified in the `.env` file). -1. Create a `.env` file in the root directory and configure necessary environment variables as required. If running the RPC locally, set the NEXT_PUBLIC_RPC_URL variable. +Log in using the password set in the Validator CLI. If you haven't set a password yet, you can do so by running the following command in the CLI directory: ```bash -export NEXT_PUBLIC_RPC_URL=http://127.0.0.1:8081 +operator-cli gui set password ``` -Adjust the port (8081 in this example) as needed. +## Usage -`.env` file configuration for running against a local network: +The Validator GUI dashboard provides various features for managing your Shardeum nodes: -```bash -NEXT_PUBLIC_RPC_URL=http://127.0.0.1:8080 -PORT=8081 -RPC_SERVER_URL=http://127.0.0.1:8080 -``` +1. **Node Status**: Monitor the current status of your node. +2. **Performance Metrics**: View key performance indicators and network statistics. +3. **Configuration Settings**: Adjust node settings through the GUI. +4. **Reward Tracking**: Monitor your earned rewards and payout history. +5. **Network Information**: Access real-time data about the Shardeum network. -2. Link to the Operator CLI and set the environment to development: +Explore the intuitive interface to familiarize yourself with all available features. -```bash -npm link operator-cli -export NODE_ENV=development -``` +## Troubleshooting -### Build and Start the Development Server +If you encounter issues: -```bash -npm run build -npm run start -``` +1. Ensure all prerequisites are correctly installed and configured. +2. Verify that the Shardeum network and JSON RPC server are running. +3. Check the console for any error messages. +4. Ensure the environment variables in the `.env` file are correct. +5. Restart the GUI application after making any configuration changes. ## Contributing -Contributions are very welcome! Everyone interacting in our codebases, issue trackers, and any other form of communication, including chat rooms and mailing lists, is expected to follow our [code of conduct](./CODE_OF_CONDUCT.md) so we can all enjoy the effort we put into this project. +We welcome contributions to improve the Shardeum Validator GUI! Please follow these steps: + +1. Fork the repository +2. Create a feature branch +3. Commit your changes +4. Push to the branch +5. Open a Pull Request + +Ensure that you adhere to our [code of conduct](./CODE_OF_CONDUCT.md) in all interactions within the project ecosystem. -## Community +## Community and Support -For help, discussion about code, or any other conversation that would benefit from being searchable: +Join our vibrant community for support, discussions, and updates: -[Discuss Shardeum on GitHub](https://github.com/shardeum/shardeum/discussions) +- [GitHub Discussions](https://github.com/shardeum/shardeum/discussions): For technical discussions and searchable conversations. +- [Discord Server](https://discord.com/invite/shardeum): For real-time chat and community interaction. -For chatting with others using Shardeum: +## License -[Join the Shardeum Discord Server](https://discord.com/invite/shardeum) +[LICENSE](./LICENSE.md) From 99c945b9e7fa2f377559070c528309b7c884d550 Mon Sep 17 00:00:00 2001 From: Ekene Eze Date: Thu, 12 Sep 2024 17:10:32 +0400 Subject: [PATCH 2/2] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 50cd561..9f94691 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,8 @@ Before setting up the Validator GUI, ensure you have the following components in ### 1. Clone the Repository ```bash -git clone git@github.com:shardeum/validator-gui.git gui -cd gui +git clone git@github.com:shardeum/validator-gui.git +cd validator-gui ``` ### 2. Install Dependencies