Infernet is a lightweight library for bridging off-chain compute on-chain. With the help of Infernet, smart contract developers can request computation to be executed off-chain by Infernet Nodes and delivered to their on-chain smart contracts via the Infernet SDK.
- CPU: 4 modern vCPU cores
- Memory (RAM): 16GB
- Storage: 500GB IOPS-optimized SSD
- EVM Wallet: Must hold ETH tokens on the Base Mainnet
- Ensure the wallet has at least $15–25 worth of ETH to cover gas fees
- Use Burner Wallet
- Update the system and install necessary packages:
sudo apt update && sudo apt upgrade -y
sudo apt -qy install curl git jq lz4 build-essential screen
# Add Docker’s GPG key and repo
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# Install Docker & Compose Plugin
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- Check Version:
docker --version
docker compose version
- ✅ If the version is
v2.20.2or above, you're good to go.
sudo usermod -aG docker $USER
docker run hello-world
- Clone the Repo:
git clone https://github.com/ritual-net/infernet-container-starter
cd infernet-container-starter
- Start a screen session (for background process):
screen -S ritual
- Deploy the container:
project=hello-world make deploy-container
- Detach from the screen: Press Ctrl + A, Then Press D
- Edit the main config file:
nano ~/infernet-container-starter/deploy/config.json
- Update the following variables:
- "rpc_url":
https://mainnet.base.org/ - "private_key":
your new empty EVM wallet's private key (with $10–15 ETH on Base) - "registry":
0x3B1554f346DFe5c482Bb4BA31b880c1C18412170 - "sleep":
3 - "starting_sub_id":
160000 - "batch_size":
800 - "sync_period":
30 - "trail_head_blocks":
3
- Ensure proper JSON formatting (quotes, commas, etc.)
Save and exit: Ctrl + X, then press Y, then Enter.
- Repeat the same changes in:
nano ~/infernet-container-starter/projects/hello-world/container/config.json
- Update registry address in this file:
nano ~/infernet-container-starter/projects/hello-world/contracts/script/Deploy.s.sol
- Replace
address registry = ...with:0x3B1554f346DFe5c482Bb4BA31b880c1C18412170
- Update Makefile:
nano ~/infernet-container-starter/projects/hello-world/contracts/Makefile
- sender:
your private key - RPC_URL:
https://mainnet.base.org/
- Update Docker Compose version:
nano ~/infernet-container-starter/deploy/docker-compose.yaml
- image: ritualnetwork/infernet-node:
1.4.0
- Re-enter screen session:
screen -r ritual
- Stop existing containers:
docker compose -f ~/infernet-container-starter/deploy/docker-compose.yaml down
- Start containers again:
docker compose -f ~/infernet-container-starter/deploy/docker-compose.yaml up
- Detach from the screen: Press Ctrl + A, Then Press D
mkdir foundry
cd foundry
curl -L https://foundry.paradigm.xyz | bash
source ~/.bashrc
foundryup
- Go to contracts folder:
cd ~/infernet-container-starter/projects/hello-world/contracts
- Install
forge-std:
forge install --no-commit foundry-rs/forge-std
- If you get git
submodule exited with code 128 error, run:
rm -rf lib/forge-std
forge install --no-commit foundry-rs/forge-std
- Install
infernet-sdk:
forge install --no-commit ritual-net/infernet-sdk
- If error persists, run:
rm -rf lib/infernet-sdk
forge install --no-commit ritual-net/infernet-sdk
- Re-enter the screen session:
screen -r ritual
- Stop container:
docker compose -f ~/infernet-container-starter/deploy/docker-compose.yaml down
- Restart container:
docker compose -f ~/infernet-container-starter/deploy/docker-compose.yaml up
- Detach from the screen: Press Ctrl + A, Then Press D
- Navigate Back to:
cd ~/infernet-container-starter
5 Deploy SaysGM contract:
project=hello-world make deploy-contracts
- Save the returned
contract address.
- Update
CallContract.s.sol:
nano ~/infernet-container-starter/projects/hello-world/contracts/script/CallContract.s.sol
- Replace the contract address in
SaysGM(<contract_address>)with the one from the previous step.
- Call the contract:
project=hello-world make call-contract
- Re-enter screen again:
screen -r ritual
-
If logs show block data streaming in, the node is working. Detach with Press Ctrl + A, Then Press D
-
To finish setup manually:
-
Go to: https://basescan.org/address/0x8d871ef2826ac9001fb2e33fdd6379b6aabf449c
- Connect your wallet (used for the node setup)
- Go to function #8 registerNode → enter your wallet address and click Write.
- Wait 24+ hours, then go to #1 activateNode → and sign that transaction too.
- Join the Guild and Get Your Role, Use your funding wallet to join the Ritual Guild: https://guild.xyz/ritual
- Link your Node Wallet address In guild
- Once you've joined, you’ll receive the Node Runner Role.
Alternatively, you can follow the official guide to set up and run the node manually: Official Node Guide











