Release CI License License Twitter Discord

Nexus CLI

A high-performance command-line interface for contributing proofs to the Nexus network.

Nexus Network

The Nexus network unifies compute from nodes around the world into one verifiable system state. Learn more.

There have been several testnets so far:

Quick Start

Installation

Precompiled Binary (Recommended)

For the simplest and most reliable installation:

curl https://cli.nexus.xyz/ | sh

This downloads the latest binary, prompts for Terms of Use acceptance, and starts interactive mode.

Non-Interactive Installation

For automated installations (e.g., in CI):

curl -sSf https://cli.nexus.xyz/ -o install.sh
chmod +x install.sh
NONINTERACTIVE=1 ./install.sh

Note on the command name: The CLI command is now nexus-compute-cli. The previous name, nexus-cli, continues to work as an alias during the transition window, so existing scripts won't break — but new setups should use nexus-compute-cli.

Proving

Proving with the CLI is documented here.

To start with an existing node ID, run:

nexus-compute-cli start --node-id <your-node-id>

Alternatively, you can register your wallet address and create a node ID with the CLI, or at app.nexus.xyz.

nexus-compute-cli register-user --wallet-address <your-wallet-address>
nexus-compute-cli register-node --node-id <your-cli-node-id>
nexus-compute-cli start

To run the CLI noninteractively, you can also opt to start it in headless mode.

nexus-compute-cli start --headless

Quick Reference

The register-user and register-node commands will save your credentials to ~/.nexus/config.json. To clear credentials, run:

nexus-compute-cli logout

For troubleshooting or to see available command-line options, run:

nexus-compute-cli --help

Adaptive Task Difficulty

The Nexus CLI features an adaptive difficulty system that automatically adjusts task difficulty based on your node's performance. This ensures optimal resource utilization while preventing system overload.

How It Works

When to Override Difficulty

Lower Difficulty (e.g. Small or SmallMedium):

Higher Difficulty (e.g. Large, ExtraLarge, or ExtraLarge2):

Using Difficulty Override

# Lower difficulty for resource-constrained systems
nexus-compute-cli start --max-difficulty small
nexus-compute-cli start --max-difficulty small_medium

# Higher difficulty for powerful hardware
nexus-compute-cli start --max-difficulty medium
nexus-compute-cli start --max-difficulty large
nexus-compute-cli start --max-difficulty extra_large
nexus-compute-cli start --max-difficulty extra_large_2
nexus-compute-cli start --max-difficulty extra_large_3
nexus-compute-cli start --max-difficulty extra_large_4

# Equivalent to extra_large_4 if no extra_large_5 tasks available
nexus-compute-cli start --max-difficulty extra_large_5

# Case-insensitive (all equivalent)
nexus-compute-cli start --max-difficulty MEDIUM
nexus-compute-cli start --max-difficulty medium
nexus-compute-cli start --max-difficulty Medium

Difficulty Guidelines

Difficulty Use Case
small Default, starting task
small_medium Building reputation
medium and large Standard desktop/laptop
extra_large and above High-performance systems, more points

Tip: Use nexus-compute-cli start --help to see the full auto-promotion details in the CLI help text.

Troubleshooting Difficulty Issues

Tasks taking too long:

Try a lower difficulty.

nexus-compute-cli start --max-difficulty small_medium

Want more challenging tasks:

Request a harder difficulty. It will still take time to build up reputation to get the requested difficulty.

nexus-compute-cli start --max-difficulty extra_large_2

Unsure about system capabilities:

Docker Installation

For containerized deployments:

  1. Install Docker and Docker Compose
  2. Update the node ID in docker-compose.yaml
  3. Build and run:
docker compose build --no-cache
docker compose up -d
docker compose logs  # Check logs
docker compose down  # Shutdown

Terms of Use

Use of the CLI is subject to the Terms of Use. First-time users running interactively will be prompted to accept these terms.

Node ID

During the CLI's startup, you'll be asked for your node ID. To skip prompts in a non-interactive environment, manually create a ~/.nexus/config.json in the following format:

{
   "node_id": "<YOUR NODE ID>"
}

Get Help

Contributing

Interested in contributing to the Nexus Network CLI? Check out our Contributor Guide for:

For most users, we recommend using the precompiled binaries as described above. The contributor guide is intended for those who want to modify or improve the CLI itself.

🛠 Developer Guide

The following steps may be required in order to set up a development environment for contributing to the project:

Linux

sudo apt update
sudo apt upgrade
sudo apt install build-essential pkg-config libssl-dev git-all
sudo apt install protobuf-compiler

macOS

# Install using Homebrew
brew install protobuf

# Verify installation
protoc --version

Windows

Install WSL, then see Linux instructions above.

# Install using Chocolatey
choco install protobuf

License

Nexus CLI is distributed under the terms of both the MIT License and the Apache License (Version 2.0).