Skip to content

arcxteam/ritual-node

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 

Repository files navigation

❖ Ritual AI — A Comprehensive Guide Running Infernet Node ❖

Run Testnet (1)

Note

Ritual AI is a sovereign, fully EVM-compatible Layer-1 blockchain purpose-built for native, decentralized, and verifiable heterogeneous compute-spanning AI inference, fine-tuning, ZK proving, and TEE execution. It is not merely infrastructure, but the modular foundation of a scalable, secure, flexible, and truly open on-chain AI ecosystem for Web2 and Web3 alike, with Infernet as the universal entry point and Ritual Chain as the beating heart of tomorrow.

System Requirements

VPS Linux Docker

Component Minimum Recommended GPU - Cloud/Heavy
CPU 4 modern vCPU core 8 modern vCPU cores 12 modern vCPU cores
RAM 8GB 16GB 64GB
DISK 500GB HDD 500GB SSD 500GB NVME
GPU Start RTX version 2000 up CUDA 12.xx-13.xx

Config Requirements


❖ 0. Pre-Setup Main

❖ 1. System Packages Update

Update the system & tools

sudo apt update && sudo apt upgrade -y \
sudo apt -qy install curl git nano jq lz4 build-essential screen ufw

❖ 2. Install Docker & Compose → if not yet

Instal docker is optional, if you not have..try Docker securely

curl -sSL https://raw.githubusercontent.com/arcxteam/succinct-prover/refs/heads/main/docker.sh | sudo bash

❖ 3. Open Firewall Port

Open required ports for Ritual infernet node

sudo ufw allow 3000
sudo ufw allow 4000
sudo ufw allow 6379
sudo ufw allow 8545
sudo ufw enable
sudo ufw status verbose

❖ 4. Clone Ritual AI Node (Official)

Build the starter Ritual Infernet Node

git clone https://github.com/ritual-net/infernet-container-starter.git
cd infernet-container-starter

❖ 4.1 Running the hello-world

Before run container, make sure Docker is running...

docker pull ritualnetwork/hello-world-infernet:latest

Deploy the Container

project=hello-world make deploy-container

❖ 5. Setup Main-Config Variables

Now customize multiple configuration files. This ensures your Infernet node use a new own-wallet & RPC-private

❖ 5.1 Config File deploy/config.json

Replace update file & edit

rm -f ~/infernet-container-starter/deploy/config.json && \
wget -qO ~/infernet-container-starter/deploy/config.json https://raw.githubusercontent.com/arcxteam/ritual-node/refs/heads/main/ritual/deploy/config.json && \
nano ~/infernet-container-starter/deploy/config.json
  • Replace the ENTER-BASE-MAINNET-URL → RPC URL
  • Replace the ENTER-YOUR-PRIVATE-KEY → EVM wallet add with 0x + private-key
  • Press CTRL+X press Y then ENTER to save

❖ 5.2 Config File container/config.json

Replace update file & edit

rm -f ~/infernet-container-starter/projects/hello-world/container/config.json && \
wget -qO ~/infernet-container-starter/projects/hello-world/container/config.json https://raw.githubusercontent.com/arcxteam/ritual-node/refs/heads/main/ritual/container/config.json && \
nano ~/infernet-container-starter/projects/hello-world/container/config.json
  • Replace the ENTER-BASE-MAINNET-URL → RPC URL
  • Replace the ENTER-YOUR-PRIVATE-KEY → EVM wallet add with 0x + private-key
  • Press CTRL+X press Y then ENTER to save

❖ 5.3 Config File contracts/Makefile

Replace update file Makefile & edit

rm -f ~/infernet-container-starter/projects/hello-world/contracts/Makefile && \
wget -qO ~/infernet-container-starter/projects/hello-world/contracts/Makefile https://raw.githubusercontent.com/arcxteam/ritual-node/refs/heads/main/ritual/contracts/Makefile && \
nano ~/infernet-container-starter/projects/hello-world/contracts/Makefile
  • Replace the ENTER-BASE-MAINNET-URL → RPC URL
  • Replace the ENTER-YOUR-PRIVATE-KEY → EVM wallet add with 0x + private-key
  • Press CTRL+X press Y then ENTER to save

❖ 5.4 Config File script/Deploy.s.sol

Replace update file

rm -f ~/infernet-container-starter/projects/hello-world/contracts/script/Deploy.s.sol && \
wget -qO ~/infernet-container-starter/projects/hello-world/contracts/script/Deploy.s.sol https://raw.githubusercontent.com/arcxteam/ritual-node/refs/heads/main/ritual/script/Deploy.s.sol

❖ 5.5 Config Docker File deploy/docker-compose.yaml

Replace update .yaml to enhanced multi services

rm -f ~/infernet-container-starter/deploy/docker-compose.yaml && \
wget -qO ~/infernet-container-starter/deploy/docker-compose.yaml https://raw.githubusercontent.com/arcxteam/ritual-node/refs/heads/main/ritual/deploy/docker-compose.yaml

❖ 6. Stop Docker Compose

cd $HOME && docker compose -f infernet-container-starter/deploy/docker-compose.yaml stop

❖ 7. Setup Install Foundry

Will use Foundry for deploy & interacting w/ smart contracts

  • Install Foundry, add to PATH & setup
curl -L https://foundry.paradigm.xyz | bash
echo 'export PATH="$HOME/.foundry/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
foundryup

❖ 8. Setup Install Forge Libraries

Set up the required libraries for smart contracts

  • Clean up Old Libs (if have)
  • Install the standard Foundry library
  • Install the Ritual infernet SDK
  • Checking installer
cd ~/infernet-container-starter/projects/hello-world/contracts
rm -rf lib/forge-std lib/infernet-sdk
forge install foundry-rs/forge-std
forge install ritual-net/infernet-sdk
ls lib/forge-std
ls lib/infernet-sdk

You should see the installed files/directories under both lib/forge-std and lib/infernet-sdk

❖ 9. Setup Start Docker & Verify

Start build a docker compose

cd $HOME && docker compose -f infernet-container-starter/deploy/docker-compose.yaml up -d
  • This will start all containers in the background. Verify all 5 containers are RUNNING
  • Its name infernet-node, infernet-redis, infernet-fluentbit, infernet-anvil + hello-word next step run
  • If any container isn’t running, check logging with docker logs <container_name>
docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.State}}"
image

❖ 10. Setup Deploy & Call Contract

This will deploying SaysGM contract address and calling function & run the makefile targeting hello-world project

❖ 10.1 Deploy Contract Address SaysGM.sol

Output the deployed contract address in the console

cd ~/infernet-container-starter
project=hello-world make deploy-contracts

Save the deployed Contract Address, maybe it later for calling the contract

❖ 10.2 Call Contract Function SaysGM.sol

Call the sayGM() function on the contract

nano ~/infernet-container-starter/projects/hello-world/contracts/script/CallContract.s.sol
  • Note; OPTIONAL ensure check or replace YOUR_DEPLOYED_CONTRACT_ADDRESS with the actual address from the previous deploy
  • Press CTRL+X press Y then ENTER to save

❖ 10.3 Running Call Contract SaysGM.sol

This will broadcast the sayGM() onchain use own-wallet

project=hello-world make call-contract

❖ 10.4 FINAL!! Infernet Node is Now Running

Congratulations! Your Infernet node setup is complete and running node

  • To check if your 5 containers are running
  • Container names infernet-node, infernet-redis, infernet-fluentbit, infernet-anvil, hello-word
  • Check your transactions own wallet & contract deploy visit https://basescan.org/
  • You should see at least 2 transactions if everything was deployed and initialized
  • To view info logs from all node services
docker ps -a --format "table {{.ID}}\t{{.Names}}\t{{.Status}}\t{{.State}}"
docker logs infernet-node --tail=100

❖ 11. Setup RPC Issues/Limit & Server Storage

Usefull tips for any commander

❖ 11.1 ❌ RPC Issues or Limit

Prepare other RPC Urls & use AUTO config script, will removed on 3 directory file and running

bash <(wget -qO- https://raw.githubusercontent.com/arcxteam/ritual-node/refs/heads/main/rpc_update.sh)

❖ 11.2 ❌ Storage Full

Setup use this script for weekly restart 02:00 UTC

  • Why the storage was full to used?
  • Because this anvil min-500 GB, node was sync ETH mainnet block
  • Run with cron jobs and be restart weekly your node
cd ~/infernet-container-starter && \
wget -qO cleanup.sh https://raw.githubusercontent.com/arcxteam/ritual-node/refs/heads/main/cleanup.sh && \
chmod +x cleanup.sh && \
echo "0 2 * * 0 /bin/bash /root/infernet-container-starter/cleanup.sh >> /root/infernet-container-starter/cleanup.log 2>&1" | sudo crontab - && \
sudo crontab -l
  • Check info logging cron jobs work
tail -f ~/infernet-container-starter/cleanup.log
  • Stop & delete total
sudo crontab -l | grep -v "cleanup.sh" | sudo crontab -

❖ 11.3 ❌ How to Delete Node Data

If you’ve misconfigured something or want to start clean from scratch, follow the steps below

cd $HOME
docker compose -f infernet-container-starter/deploy/docker-compose.yaml down -v
sudo rm -rf infernet-container-starter

GRitual

I dont guarantee any rewards, outcomes, or uptime. Use at your own risk. Running testnet/mainnet nodes may involve interactions with external networks, smart contracts, and wallet keys. Always verify all commands and double-check any wallet/private key usage before proceeding. Ask to joined there Discord https://discord.gg/TGNverv7

oooooooooo  ooooo ooooooooooo ooooo  oooo    o      ooooo      
 888    888  888  88  888  88  888    88    888      888        
 888oooo88   888      888      888    88   8  88     888        
 888  88o    888      888      888    88  8oooo88    888      o 
o888o  88o8 o888o    o888o      888oo88 o88o  o888o o888ooooo88