Skip to main content

CLI Reference

Complete command reference for the QuikDB Nodes CLI tool.

Installation

# Install from NPM
npm install -g quikdb-nodes

# Verify installation
quikdb-nodes --version

Global Options

Available for all commands:

OptionDescription
--versionShow version number
--helpShow help information
--config <path>Specify config file location
--debugEnable debug output
--quietSuppress output (except errors)

Commands

auth

Authenticate with the Quik Nodes platform.

quikdb-nodes auth [options]

Options

OptionDescriptionDefault
-t, --token <token>Authentication token from dashboardInteractive prompt
-e, --endpoint <url>Node agent endpoint URLhttp://localhost:3001
--skip-verificationSkip endpoint verificationfalse

Examples

# Interactive authentication
quikdb-nodes auth

# With token
quikdb-nodes auth --token "cli_token_123"

Output

✅ Authentication successful!
Token: cli_token_***
Endpoint: https://api.quikdb.com
Node ID: node_8f3a9d2e1b5c4e7f
Provider: 0xaBeBC628...A35c06

Configuration saved to ~/.quik-nodes/config.json

list

List your node as a provider in the marketplace.

quikdb-nodes list [options]

Options

OptionDescriptionDefault
-t, --type <type>Provider type (compute|storage)Interactive prompt
--tier <tier>Node tier (basic|standard|premium|enterprise)Interactive prompt
--auto-tierAutomatically determine best tierfalse
--location <location>Geographic locationInteractive prompt
--dry-runValidate without actually listingfalse

Provider Types

  • compute: Provide computational resources for workloads
  • storage: Provide data storage and retrieval services

Tiers

TierCPU CoresRAM (GB)Storage (GB)Bandwidth (Mbps)
basic2+8+200+50+
standard4+16+500+100+
premium8+32+1000+500+
enterprise16+64+2000+1000+

Examples

# Interactive listing
quikdb-nodes list

# Quick compute listing
quikdb-nodes list --type compute --tier standard --location "US-East"

# Auto-detect best tier
quikdb-nodes list --type compute --auto-tier --location "EU-West"

# Dry run (validation only)
quikdb-nodes list --type storage --tier premium --location "Asia" --dry-run

Output

🚀 List Node in Marketplace

✅ System validation passed
📋 Listing Preview:
Provider Type: COMPUTE
Tier: STANDARD
Location: US-East
CPU Cores: 8
RAM: 32 GB
Storage: 1000 GB
Bandwidth: 1000 Mbps
IOPS: 3000
Node ID: hostname-01

✅ Node listed successfully!
Transaction Hash: 0xabcdef1234567890...
Listing ID: listing_8f3a9d2e1b5c4e7f

📝 Next steps:
• Run "quikdb-nodes heartbeat --daemon" to maintain your listing
• Run "quikdb-nodes status" to monitor your node status
• Check the dashboard for marketplace visibility

validate

Validate system resources and tier eligibility.

quikdb-nodes validate [options]

Options

OptionDescriptionDefault
-t, --type <type>Provider type to validate againstcompute
--tier <tier>Specific tier to validate againstAll tiers
--all-tiersCheck all tier requirementsfalse
--detailedShow detailed resource breakdownfalse

Examples

# Basic validation
quikdb-nodes validate

# Validate for specific tier
quikdb-nodes validate --tier premium --detailed

# Check all tiers
quikdb-nodes validate --all-tiers

# Storage provider validation
quikdb-nodes validate --type storage

Output

✅ System Validation Results

Provider Type: COMPUTE
Current System Specs:
CPU Cores: 8
RAM: 32 GB
Storage: 1000 GB
Bandwidth: 1000 Mbps
IOPS: 3000
GPU: NVIDIA RTX 4090 (optional)
Location: US-East-1

Tier Compatibility:
✅ BASIC Requirements met (exceeds minimum)
✅ STANDARD Requirements met (exceeds minimum)
✅ PREMIUM Requirements met
❌ ENTERPRISE Insufficient CPU cores (need 16, have 8)

💡 Recommended Tier: PREMIUM
Estimated earnings: 0.7-1.5 ETH/day

🔧 Optimization Suggestions:
• Add 8 more CPU cores to qualify for ENTERPRISE tier
• Consider SSD upgrade for better IOPS performance

status

Check node listing status and reputation.

quikdb-nodes status [options]

Options

OptionDescriptionDefault
--watchContinuously monitor statusfalse
--reputationShow detailed reputation informationfalse
--heartbeatsShow recent heartbeat historyfalse
--refresh <seconds>Refresh interval for watch mode30

Examples

# Basic status
quikdb-nodes status

# Detailed status
quikdb-nodes status --reputation --heartbeats

# Continuous monitoring
quikdb-nodes status --watch

# Custom refresh rate
quikdb-nodes status --watch --refresh 60

Output

🏷️  Listing Information:
Status: ✅ ACTIVE
Provider Type: COMPUTE
Tier: STANDARD
Listed Since: 2024-01-01
Last Heartbeat: 2024-01-01 12:00:00 (2 min ago)
Total Heartbeats: 1,440

💻 System Information:
CPU Cores: 8
RAM: 32 GB
Storage: 1000 GB
Bandwidth: 1000 Mbps
Location: US-East

🔗 Connection Status:
Node Agent: ✅ Connected
Provider: 0xaBeBC628...A35c06

⭐ Reputation:
Score: 95/100 (Excellent)
Rank: #47 of 1,250
Success Rate: 98.5%
Avg Response: 120ms
Total Jobs: 150

💰 Earnings:
Total: 45.8 ETH
This Month: 3.2 ETH
Last Payout: 2024-01-01 00:00:00

📊 Performance:
Uptime: 99.8%
CPU Usage: 65.2%
Memory Usage: 78.5%
Storage Usage: 45.3%

heartbeat

Send heartbeat to maintain node listing.

quikdb-nodes heartbeat [options]

Options

OptionDescriptionDefault
--daemonRun as background daemonfalse
--interval <seconds>Heartbeat interval in seconds300 (5 minutes)
--stopStop running heartbeat daemonfalse
--statusShow daemon statusfalse

Examples

# Send single heartbeat
quikdb-nodes heartbeat

# Start heartbeat daemon
quikdb-nodes heartbeat --daemon

# Custom interval (2 minutes)
quikdb-nodes heartbeat --daemon --interval 120

# Check daemon status
quikdb-nodes heartbeat --status

# Stop daemon
quikdb-nodes heartbeat --stop

Output

# Single heartbeat
✅ Heartbeat sent successfully
Health Score: 95/100
CPU Usage: 65.2%
Memory Usage: 78.5%
Storage Usage: 45.3%
Uptime: 99.8%
Next due: 5 minutes

# Daemon mode
🔄 Starting heartbeat daemon...
Interval: 5 minutes
Process ID: 12345
Log file: ~/.quik-nodes/heartbeat.log

✅ Heartbeat daemon started successfully
Use "quikdb-nodes heartbeat --stop" to stop
Use "quikdb-nodes heartbeat --status" to check status

unlist

Remove node from marketplace listing.

quikdb-nodes unlist [options]

Options

OptionDescriptionDefault
-r, --reason <reason>Reason for unlistingInteractive prompt
--forceSkip confirmation promptfalse

Examples

# Interactive unlisting
quikdb-nodes unlist

# With reason
quikdb-nodes unlist --reason "Hardware maintenance"

# Force unlisting (skip confirmation)
quikdb-nodes unlist --reason "Temporary shutdown" --force

Output

📤 Unlist Node from Marketplace

⚠️ Warning: This will remove your node from the marketplace.
You will stop receiving new jobs immediately.
Current jobs will continue to completion.

Reason: Hardware maintenance

Are you sure you want to unlist your node? (y/N): y

✅ Your node has been unlisted from the marketplace.
Transaction Hash: 0xfedcba0987654321...

You can list your node again anytime using "quikdb-nodes list".

config

Manage CLI configuration.

quikdb-nodes config <command> [options]

Subcommands

show

Display current configuration.

quikdb-nodes config show
set

Set configuration value.

quikdb-nodes config set <key> <value>
reset

Reset configuration to defaults.

quikdb-nodes config reset

Examples

# Show configuration
quikdb-nodes config show

# Set endpoint
quikdb-nodes config set endpoint "https://api.quikdb.com"

# Set default provider type
quikdb-nodes config set defaultProviderType "compute"

# Reset configuration
quikdb-nodes config reset

Configuration Options

KeyDescriptionDefault
endpointNode agent endpointhttp://localhost:3001
tokenAuthentication token-
defaultProviderTypeDefault provider typecompute
defaultLocationDefault location-
heartbeatIntervalDefault heartbeat interval300
logLevelLogging levelinfo

logs

View CLI logs and debugging information.

quikdb-nodes logs [options]

Options

OptionDescriptionDefault
-f, --followFollow log outputfalse
-n, --lines <number>Number of lines to show50
--level <level>Filter by log levelAll levels
--clearClear log filesfalse

Log Levels

  • error: Error messages only
  • warn: Warnings and errors
  • info: General information
  • debug: Detailed debugging information

Examples

# Show recent logs
quikdb-nodes logs

# Follow logs in real-time
quikdb-nodes logs --follow

# Show last 100 lines
quikdb-nodes logs --lines 100

# Show only errors
quikdb-nodes logs --level error

# Clear log files
quikdb-nodes logs --clear

info

Display system and CLI information.

quikdb-nodes info [options]

Options

OptionDescriptionDefault
--systemShow system informationtrue
--networkShow network informationfalse
--versionsShow version informationfalse

Examples

# Basic info
quikdb-nodes info

# Detailed system info
quikdb-nodes info --system --network --versions

Output

🖥️  System Information:
OS: Linux Ubuntu 22.04.3 LTS
Architecture: x64
CPU: Intel(R) Xeon(R) CPU E5-2686 v4 @ 2.30GHz
CPU Cores: 8
RAM: 32 GB
Storage: 1000 GB SSD
Hostname: node-provider-01

🌐 Network Information:
Public IP: 203.0.113.15
Location: US-East-1
ISP: Amazon Web Services
Bandwidth: 1000 Mbps

📦 Version Information:
CLI Version: 1.0.0
Node.js: 18.17.0
npm: 9.6.7
OS Version: Ubuntu 22.04.3 LTS

🔧 Configuration:
Config File: ~/.quik-nodes/config.json
Log File: ~/.quik-nodes/app.log
Endpoint: https://api.quikdb.com
Provider Type: compute

Configuration File

The CLI stores configuration in ~/.quik-nodes/config.json:

{
"version": "1.0.0",
"endpoint": "https://api.quikdb.com",
"token": "cli_token_encrypted_here",
"nodeId": "node_8f3a9d2e1b5c4e7f",
"provider": {
"address": "0xaBeBC6283d1b32298D67c745da88DAD288A35c06",
"type": "compute",
"tier": "standard",
"location": "US-East"
},
"settings": {
"heartbeatInterval": 300,
"logLevel": "info",
"autoHeartbeat": true
},
"lastUpdated": "2024-01-01T12:00:00.000Z"
}

Environment Variables

Override configuration with environment variables:

VariableDescriptionExample
QUIK_NODE_ENDPOINTNode agent endpointhttps://api.quikdb.com
QUIK_NODE_TOKENAuthentication tokencli_token_123
QUIK_NODE_LOG_LEVELLogging leveldebug
QUIK_NODE_CONFIG_DIRConfiguration directory~/.quik-nodes
# Use environment variables
export QUIK_NODE_ENDPOINT="http://localhost:3001"
export QUIK_NODE_LOG_LEVEL="debug"
quikdb-nodes status

Exit Codes

CodeDescription
0Success
1General error
2Authentication error
3Validation error
4Network error
5Configuration error
6System requirement error

Debugging

Enable Debug Mode

# Global debug flag
quikdb-nodes --debug status

# Environment variable
DEBUG=* quikdb-nodes status

# Specific modules
DEBUG=auth,websocket quikdb-nodes list

Log Files

  • Application logs: ~/.quik-nodes/app.log
  • Heartbeat logs: ~/.quik-nodes/heartbeat.log
  • Error logs: ~/.quik-nodes/error.log

Troubleshooting Commands

# Test connectivity
quikdb-nodes info --network

# Validate configuration
quikdb-nodes config show

# Check system requirements
quikdb-nodes validate --detailed

# View recent errors
quikdb-nodes logs --level error --lines 20

Scripting and Automation

Bash Script Example

#!/bin/bash
# automated-listing.sh

set -e

echo "Starting automated node listing..."

# Authenticate
quikdb-nodes auth --token "$CLI_TOKEN" --endpoint "$NODE_ENDPOINT"

# Validate system
if ! quikdb-nodes validate --type compute --tier standard; then
echo "System validation failed"
exit 1
fi

# List node
quikdb-nodes list --type compute --tier standard --location "US-East"

# Start heartbeat daemon
quikdb-nodes heartbeat --daemon --interval 300

echo "Node listing completed successfully"

Next Steps