Node for Nubit

1. Setup Environment

1.1 Upgrade and Install Dependencies

Ensure your system is up-to-date and equipped with essential development tools:

sudo apt update && sudo apt upgrade -y
sudo apt install -y make curl tar wget jq aria2 clang pkg-config libssl-dev build-essential

1.2 Install Golang

Nubit requires Go version 1.22.1 or higher. Follow these steps to install Go:

  1. Install essential tools for compiling and building binaries:

sudo apt install build-essential
  1. Follow the official Go installation guide to install Go 1.22.1 or higher.

1.3 Set up Python Environment

Prepare the Python environment for AWS services and SSH communications. Using a virtual environment is recommended:

  1. Install pip (if not already installed):

    wget https://bootstrap.pypa.io/get-pip.py
    sudo python3 get-pip.py
    
  2. pip install pyopenssl --upgrade pip install boto3 paramiko

pip install --user virtualenv
python3 -m virtualenv ~/myenv
source ~/myenv/bin/activate

2. Setup SSH for Private Repos

2.1 Contact the Nubit Team

  1. Send your GitHub email to the Nubit team:

    Email: developers@riema.xyz

    Include:

    • Your contact details

    • A brief introduction of your team

    • Contact person information

2.2 Generate New SSH Keys

  1. Generate an SSH key for RiemaLabs:

ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/riema_id_ed25519

Generate a general SSH key for GitHub (if not already created):

ssh-keygen -t ed25519 -C "your_email@example.com" -f ~/.ssh/id_ed25519

2.3 Add SSH Keys to GitHub

  1. Copy and add RiemaLabs public key to GitHub:

cat ~/.ssh/riema_id_ed25519.pub

Copy and add GitHub public key:

cat ~/.ssh/id_ed25519.pub

Add both public keys to your GitHub account via the GitHub SSH keys settings.

2.4 Configure SSH and Git

  1. Edit SSH configuration:

nano ~/.ssh/config

Add the following lines:

  1. Redirect Git HTTPS URLs to SSH for RiemaLabs:

    git config --global url."git@riema.github.com:RiemaLabs".insteadOf https://github.com/RiemaLabs
    
  2. Secure SSH configuration:

    chmod 600 ~/.ssh/riema_id_ed25519 chmod 644 ~/.ssh/riema_id_ed25519.pub chmod 600 ~/.ssh/id_ed25519 chmod 644 ~/.ssh/id_ed25519.pub chmod 600 ~/.ssh/config
    
  3. Add SSH keys to the SSH agent:

    eval "$(ssh-agent -s)" ssh-add ~/.ssh/riema_id_ed25519 ssh-add ~/.ssh/id_ed25519
    
  4. Bypass Go's checksum verification for private repositories:

    export GOPRIVATE=github.com/RiemaLabs
    

    Add this command to your shell profile file (e.g., ~/.bash_profile) to apply it to all sessions:

    echo 'export GOPRIVATE=github.com/RiemaLabs' >> ~/.bash_profile source ~/.bash_profile
    

3. Basic Configuration

  1. Create and switch to the nubit-da directory in your home directory:

    mkdir -p $HOME/nubit-da/ && cd $HOME/nubit-da