Prerequisites

Before running the script to set up your Nesa node, ensure you have the following ready

Note: This software is in beta and primarily targets Ubuntu/Debian machines with CUDA-enabled GPUs. Support for other hardware/software configurations is experimental and will improve over time.

Introduction

Before running a Nesa node, ensure your system meets the following prerequisites. This will help you set up and run the node smoothly.


System Requirements

Hardware Recommendations

  • CPU: Multi-core processor

  • Memory: 4 GB RAM minimum

  • Storage: 50 GB free disk space (or more depending on the size of the model(s) you'd like to power)

  • Network: Stable internet connection

Note: Miner nodes operate optimally with high-performance graphics hardware.

Supported Operating Systems

  • Linux (Ubuntu, Debian, CentOS, etc.)

  • macOS

  • Windows (with WSL recommended)

Software Requirements

Required Software

  • GPU Drivers: Required for hardware acceleration. Please consult your GPU manufacturer's website for reference.

  • Nvidia Toolkit: Applicable to machines with an NVIDIA graphics card. Install Toolkit

  • Docker: Required to run the node. Install Docker

    # Example command to install Docker on Debian/Ubuntu
      # Add Docker's official GPG key:
      sudo apt-get update
      sudo apt-get install ca-certificates curl
      sudo install -m 0755 -d /etc/apt/keyrings
      sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
      sudo chmod a+r /etc/apt/keyrings/docker.asc
      
      # Add the repository to APT sources:
      echo \
        "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
        $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
        sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
      sudo apt-get update
      sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
    # Example command to install Docker on macOS using Homebrew
    brew install --cask docker
    # Example command to install Docker on Windows using PowerShell
    choco install docker-desktop
  • curl: Required to fetch the bootstrap script. Install curl

    # Example command to install curl on Ubuntu
    sudo apt-get update
    sudo apt-get install -y curl
    # Example command to install curl on macOS using Homebrew
    brew install curl
    # Example command to install curl on Windows using PowerShell
    choco install curl

Installing Necessary Dependencies

  • gum: The script installs gum if not present.

  • jq: The script installs jq if not present.

    # Command to check if jq is installed
    jq --version
    
    # If jq is not installed, the script will attempt to install it

Account and Token Requirements

Hugging Face API Token

You will need a Hugging Face API token. Get your token here.

Hint: Make sure to save your Hugging Face API token securely. You will need it during setup.

Moniker for Your Node

Decide on a unique name (moniker) for your node.

Hint: Choose a moniker that reflects the identity of your node within the network.

Node Type Selection

Decide whether your node will be a Validator or a Miner. Validators participate in consensus, while Miners handle inference tasks.

Validator

  • Role: Validators are responsible for verifying transactions, creating new blocks, and maintaining the security and integrity of the blockchain.

  • Tasks: Participate in the consensus process, validate transactions and blocks, and earn rewards for their services.

  • Requirements: Require a stable internet connection and typically less less computational power than miner nodes. In a PoS network, they also stake tokens as collateral.

Miner

  • Role: Miners execute the heavy-lifting components of AI inference.

  • Tasks: Collect and verify transactions, bundle them into blocks, and earn rewards for successfully adding blocks to the blockchain.

  • Types:

    • Distributed Miner: Joins existing swarms for collaborative mining.

    • Non-Distributed Miner: Operates independently without collaboration.

  • Requirements: Vary depending on whether they are distributed or non-distributed. Both types require good computational power and internet stability.

Administrative Rights

Ensure you have administrative rights on your system.

Linux/macOS

You should have the ability to use sudo for installing packages and running Docker.

For linux-based systems, ensure your user is part of the docker group by running the following commands:

# Create a docker group (if non-existent), adds the current user, 
# and applies group membership immediately in the current session
sudo groupadd docker
sudo usermod -aG docker $USER
newgrp docker

Hint: To check if you have sudo privileges, run the following command:

sudo -v

Windows

You should have an administrator account or use WSL with administrative privileges.

Hint: On Windows, you can check if you are an administrator by going to Control Panel > User Accounts > Manage User Accounts.


Additional Help/Support

If you need any additional help or support, please visit the Nesa Discord for community support and discussion. You can also explore additional documentation to deepen your understanding of Nesa and its features.

Last updated