# Node for Nubit

By [String Theory](https://paragraph.com/@string-theory) · 2024-09-12

---

### 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**](https://golang.org/doc/install) **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
    
3.    
    

    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

---

*Originally published on [String Theory](https://paragraph.com/@string-theory/node-for-nubit)*
