Overview
Subsquid operates as a decentralized data access layer that unlocks granular, permissionless data access at a petabyte scale. The network comprises three main components: a decentralized data lake, a decentralized query engine, and developer tools.
Worker Node Operators Role
Worker nodes store and serve blockchain data chunks to network clients. When users submit queries, the scheduler finds the worker with desired data using libp2p discovery algorithm. Node operators receive SQD token rewards, with the highest APR of all the network participants.
Hardware Requirements
Running a single worker requires:
- 4 vCPU
- 8GB RAM
- 1TB SSD
- Public IP with one open TCP port (default: 12345)
- 100,000 tSQD tokens
- ETH on Arbitrum for gas fees
Setup Instructions
Configuration Steps:
- Select a location for worker data (minimum 1TB capacity)
- Choose a location for the Subsquid Network key file (outside data directory)
- Download and execute the setup script:
curl -fO https://cdn.subsquid.io/worker/setup_worker.sh - Make executable:
chmod +x ./setup_worker.sh - Run setup with paths:
./setup_worker.sh <DATA_DIR_PATH> <KEY_PATH>
The script generates necessary directories, key files, and configuration files, outputting a peer ID required for registration.
On-Chain Registration
Register your worker at https://network.subsquid.io by:
- Selecting “Wallet” or “Vesting” option
- Entering your peer ID from setup
- Waiting for status to change to “Offline” or “Active”
Running the Worker
Docker Option:
docker compose up -d
Source Build Option:
Install prerequisites, then:
source .mainnet.env
source .env
git clone --depth 1 --branch v1.0.0 https://github.com/subsquid/worker-rs.git
cd worker-rs
cargo build --release
nohup cargo run --release -- --port $PROMETHEUS_PORT p2p
Worker status and rewards can be monitored in the Network app after deployment.