Skip to content

Running a validator node

Cláudio Silva edited this page Jun 13, 2025 · 12 revisions

Running a local validator node for the Sepolia deployment

✅ Prerequisites

  • A Unix-based system (Linux/macOS or WSL for Windows)
  • An Ethereum RPC provider (e.g., Infura or paid Alchemy)
  • A funded Sepolia account with access to the private key (used to sign and submit claims)

📂 1. Set up the Project Directory

mkdir -p ./cartesi-honeypot/machine ./cartesi-honeypot/state
cd cartesi-honeypot

📦 2. Download and Install the Cartesi PRT Node Executable

Download the Cartesi PRT Node for your OS from the Cartesi Dave v1.0.0 release page.

Extract files (Linux artifact example):

tar -xvf cartesi-rollups-prt-node-Linux-gnu-x86_64.tar.gz

⚠️ Ensure the extracted binary cartesi-rollups-prt-node is executable:

chmod +x ./cartesi-rollups-prt-node

📦 3. Download the Honeypot Snapshot

Download Honeypot snapshot for the Sepolia deployment from the Honeypot v2.0.0 release page and store it into the /machine folder.

Extract files:

tar -xvf honeypot-snapshot-sepolia.tar.gz

🔑 4. Set Up Environment Variables (Optional)

Export your secrets in your shell:

export RPC_URL=<YOUR_RPC_URL>
export PRIVATE_KEY=<PRIVATE_KEY_ACCOUNT_THAT_WILL_SUBMIT_CLAIMS>

🚀 5. Run the Validator Node

Now run the node with the following command:

./cartesi-rollups-prt-node \
  --web3-rpc-url $RPC_URL \
  --web3-chain-id 11155111 \
  --app-address 0xccEbaA7E541BcaA99dE39ca248f0aa6CD33f9e3E \
  --machine-path ./machine \
  --state-dir ./state \
  pk --web3-private-key $PRIVATE_KEY

⚠️ Free Alchemy plans may hit a 500 block range limit, causing the node to fail syncing. Prefer Infura (free) for limited use (~2h/day), or upgrade to a paid plan of Alchemy or Infura.

📋 6. Expected Logs

If the node runs well, you should see output like:

[2025-06-12T14:18:34Z INFO  cartesi_rollups_prt_node] Hello from PRT Rollup Node!
[2025-06-12T14:18:48Z INFO  cartesi_rollups_prt_node] Running with config:
    App Address: 0xccEbaA7E541BcaA99dE39ca248f0aa6CD33f9e3E
    Consensus Address: 0x76015b34F5b0BB4A2643895d8Eac383B90724974
    Input Box Address: 0xc70074BDD26d8cF983Ca6A5b89b8db52D5850051
    Initial Hash: 0xdbe72e1624cfed0e83469f1f5104709ecfc0d4ff6edaa7745d5912b2e184b278
    Genesis Block Number: 8439339
    Machine path: ./machine
    Signer address: <redacted>
    Chain Id: sepolia (11155111)
    Ethereum gateway: <redacted>
    State directory: <redacted>
    Sleep duration: 30 seconds
    Long block range error codes: [-32005, -32600, -32602, -32616]
[2025-06-12T14:18:51Z INFO  rollups_machine_runner] loaded machine at epoch 6 with input count 0
[2025-06-12T14:18:51Z INFO  cartesi_prt_core::strategy::player] Enter tournament at address: 0xD6479994A8cfda8D442F4022d0685143745AcCd9
[2025-06-12T14:18:53Z INFO  cartesi_prt_core::strategy::player] clock paused, 2620 blocks left
[2025-06-12T14:18:53Z INFO  cartesi_prt_core::strategy::player] no match found for commitment: 0xf9ae2b2c74c0cf64bf41705990287b73cea24b097d6fe0d1d6600acaf6878219
[2025-06-12T14:19:24Z INFO  cartesi_prt_core::strategy::player] Enter tournament at address: 0xD6479994A8cfda8D442F4022d0685143745AcCd9
[2025-06-12T14:19:25Z INFO  cartesi_prt_core::strategy::player] clock paused, 2620 blocks left
[2025-06-12T14:19:25Z INFO  cartesi_prt_core::strategy::player] no match found for commitment: 0xf9ae2b2c74c0cf64bf41705990287b73cea24b097d6fe0d1d6600acaf6878219
[2025-06-12T14:19:57Z INFO  cartesi_prt_core::strategy::player] Enter tournament at address: 0xD6479994A8cfda8D442F4022d0685143745AcCd9
[2025-06-12T14:19:58Z INFO  cartesi_prt_core::strategy::player] clock paused, 2620 blocks left
[2025-06-12T14:19:58Z INFO  cartesi_prt_core::strategy::player] no match found for commitment: 0xf9ae2b2c74c0cf64bf41705990287b73cea24b097d6fe0d1d6600acaf6878219

Clone this wiki locally