Node System Documentation

The Node System is a crucial component of our platform that handles the execution of tools and workflows in a distributed environment. This documentation explains how nodes work.

Node Architecture

Components

  • Decentralizer: Manages node distribution and load balancing
  • Renter: Handles tool execution and resource management

Node Setup

Requirements

  • Docker runtime environment
  • Network connectivity
  • Required system resources
  • Security certificates

Installation

# Install node dependencies pnpm install # Start the node node renter-node.js

Then you'll be prompted to login and chose the renting hardware based on how much you have of CPU cores and RAM.

Tool Execution

Execution Flow

  1. The server checks for available nodes. Each available node keeps sending heartbeats every 2 minutes, if a node doesn't send a heart beat for more than 5 minutes it's marked as inactive.
  2. If there are enough nodes for a workflow to run, each tool is sent to a node for it to run.
  3. Once every node has run the container associated correctly, the users gets back a single url that handles the connection between them.
  4. You can send a request to that url and recieve responses normally.
  5. If no nodes are available, the tools are run on another public server.

Security

Node Security

  • SSL/TLS encryption
  • Authentication mechanisms
  • Access control
  • One time tokens to prevent reusage of keys