Skip to content

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.

Notifications You must be signed in to change notification settings

SKaaalper/Ritual-Node-Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 

Repository files navigation

Ritual Node Setup Guide

image

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.

Recommended Hardware Requirements (using Contabo VPS 2)

  • CPU: 4 modern vCPU cores
  • Memory (RAM): 16GB
  • Storage: 500GB IOPS-optimized SSD

Prerequisites

  • 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

Node Installation:

1. Install Dependencies:

  1. 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

2. Install docker & Docker Compose (If you already have it, just skip):

# 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.2 or above, you're good to go.

3. Add User to Docker Group:

sudo usermod -aG docker $USER

4. Verify Docker Installation:

docker run hello-world

5. Clone Ritual Repo & Deploy Initial Container:

  1. Clone the Repo:
git clone https://github.com/ritual-net/infernet-container-starter
cd infernet-container-starter
  1. Start a screen session (for background process):
screen -S ritual
  1. Deploy the container:
project=hello-world make deploy-container
  1. Detach from the screen: Press Ctrl + A, Then Press D

6. Update Configuration Files:

  1. Edit the main config file:
nano ~/infernet-container-starter/deploy/config.json
  1. 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

image

  • Ensure proper JSON formatting (quotes, commas, etc.)

Save and exit: Ctrl + X, then press Y, then Enter.

  1. Repeat the same changes in:
nano ~/infernet-container-starter/projects/hello-world/container/config.json

image

  1. Update registry address in this file:
nano ~/infernet-container-starter/projects/hello-world/contracts/script/Deploy.s.sol
  • Replace address registry = ... with: 0x3B1554f346DFe5c482Bb4BA31b880c1C18412170

image

  1. Update Makefile:
nano ~/infernet-container-starter/projects/hello-world/contracts/Makefile
  • sender: your private key
  • RPC_URL: https://mainnet.base.org/

image

  1. Update Docker Compose version:
nano ~/infernet-container-starter/deploy/docker-compose.yaml
  • image: ritualnetwork/infernet-node: 1.4.0

image

7. Restart the Container:

  1. Re-enter screen session:
screen -r ritual
  1. Stop existing containers:
docker compose -f ~/infernet-container-starter/deploy/docker-compose.yaml down
  1. Start containers again:
docker compose -f ~/infernet-container-starter/deploy/docker-compose.yaml up
  • Detach from the screen: Press Ctrl + A, Then Press D

8. Install Foundry:

mkdir foundry
cd foundry
curl -L https://foundry.paradigm.xyz | bash
source ~/.bashrc
foundryup

image

9. Install Dependencies:

  1. Go to contracts folder:
cd ~/infernet-container-starter/projects/hello-world/contracts
  1. 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
  1. 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

10. Deploy and Interact with the Contract:

  1. Re-enter the screen session:
screen -r ritual
  1. Stop container:
docker compose -f ~/infernet-container-starter/deploy/docker-compose.yaml down
  1. Restart container:
docker compose -f ~/infernet-container-starter/deploy/docker-compose.yaml up
  • Detach from the screen: Press Ctrl + A, Then Press D
  1. Navigate Back to:
cd ~/infernet-container-starter

5 Deploy SaysGM contract:

project=hello-world make deploy-contracts

image

  • Save the returned contract address.
  1. Update CallContract.s.sol:
nano ~/infernet-container-starter/projects/hello-world/contracts/script/CallContract.s.sol

image

  • Replace the contract address in SaysGM(<contract_address>) with the one from the previous step.
  1. Call the contract:
project=hello-world make call-contract

image

11. Final Checks & Manual Transaction:

  • Re-enter screen again:
screen -r ritual

image

  • 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.

Now, Go to Guild:

  1. Join the Guild and Get Your Role, Use your funding wallet to join the Ritual Guild: https://guild.xyz/ritual
  2. Link your Node Wallet address In guild
  3. Once you've joined, you’ll receive the Node Runner Role.

image

Alternatively, you can follow the official guide to set up and run the node manually: Official Node Guide

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published