The Shardeum Validator CLI is a command-line interface tool designed for managing nodes on the Shardeum network. It provides essential functionality for node management and collects debug data from running the network, making it an imporant part of the Shardeum network toolkit.
Before diving into the Validator CLI, ensure you have the following:
- Node.js (v.18.16.1 recommended)
- npm (usually comes with Node.js)
- Git
git clone [email protected]:shardeum/validator-cli.git
cd validator-cli
When running a local network, the Validator CLI requires a symlink to the locally running Shardeum repository. Create the symlink by running this command in the cli directory:
ln -s /path/to/shardeum/repo ../validator
ls ../validator # Verify the symlink
Replace /path/to/shardeum/repo
with the actual path to your local Shardeum repository.
Install the necessary dependencies and link the CLI to the local network:
npm ci && npm link
For a local network setup, update the configuration in the src/config/default-network-config.ts
file :
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 connecting to a live network, update the defaultNetworkConfig
object with the details of live archivers. For example:
export const defaultNetworkConfig = {
server: {
// ... other settings remain the same
p2p: {
existingArchivers: [
{
ip: '198.58.110.213',
port: 4000,
publicKey: 'd34b80a5a6f9638b7c75d6eb6e59d35d9a3e103f1877827eebbe973b8281f794',
},
// Add more live archivers as needed
],
},
// ... rest of the configuration remain the same
},
};
Remember to replace the example IP, port, and public key with actual values for the version of the network you're connecting to.
After making changes, recompile the CLI:
npm run compile
-
Start the CLI:
operator-cli start
-
Check CLI status:
operator-cli status
-
Set GUI password:
operator-cli gui set password <your-password>
For a comprehensive list of available commands:
- Node-related commands: Refer to
src/node-commands.ts
- GUI-related commands: Check
src/gui-commands.ts
If you encounter issues:
- Ensure all prerequisites are correctly installed.
- Verify the symlink to the Shardeum repository is correct.
- Check for any error messages in the CLI output.
- Consult the Shardeum community resources for support.
We welcome contributions to the Shardeum Validator CLI! Please adhere to our code of conduct when participating in our community. To contribute:
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Open a Pull Request
-
For discussions and searchable conversations: Shardeum GitHub Discussions
-
For real-time chat and community interaction: Shardeum Discord Server