How to Run GR1D Circuit Node

Steps to Start GR1D Node

1. Navigate to your gr1d-node Directory

Locate the directory where you built the gr1d-node binary.

2. Copy in the JWT Secret

Both gr1d-geth and gr1d-node need to use the same JWT secret. Copy the JWT secret you generated in a previous step into the gr1d-node directory.

cp /path/to/jwt.txt .

3. Set Environment Variables

Set the following environment variables to configure the GR1D node:

export L1_RPC_URL=...  # URL for the L1 node to sync from. For a local L1 node, the most common URL is http://127.0.0.1:8545
export L1_RPC_KIND=... # RPC type (alchemy, quicknode, infura, parity, nethermind, debug_geth, erigon, basic, any)
export L1_BEACON_URL=... # URL for the L1 Beacon-node HTTP endpoint. For a local L1 Beacon node, the common URL is http://127.0.0.1:3500

4. Start gr1d-node

Use the following command to start the gr1d-node with default configuration. Refer to the GR1D Circuit Node configuration documentation for more detailed information on available options.

⚠️ Important: The GR1D Circuit Node RPC should not be exposed publicly. If exposed, it could accidentally expose admin controls to the public internet.

Additionally, sync mode is set to --syncmode=execution-layer to enable snap sync and remove the need to initialize the node with a pre-existing data directory.

./bin/gr1d-node \
  --l1=$L1_RPC_URL \
  --l1.rpckind=$L1_RPC_KIND \
  --l1.beacon=$L1_BEACON_URL \
  --l2=ws://localhost:8551 \
  --l2.jwt-secret=./jwt.txt \
  --network=gr1d-mainnet \
  --syncmode=execution-layer \
  --l2.enginekind=geth