All pages
Powered by GitBook
1 of 1

Gravity Testnet Sepolia (L2) Node Setup

Instructions about how to run a Gravity Alpha Testnet Sepolia node.

We'd like to inform you that ArbOS32 will be activated on Gravity chain in the new year, and we are migrating from AnyTrust to Celestia for data availability.

Prior to April 18th, 2025, please do the following:

  • Upgrade to Node version nitro-node >= v3.3.2 (Celestia fork)

  • Configure your node to support both data availability sources

Guide

Prerequisites

  1. A local directory for storing node data

  2. An Ethereum Sepolia RPC endpoint with unlimited rate limit for eth_getLogs

  3. An Ethereum Sepolia beacon chain RPC endpoint

  4. Connection to a Celestia lightnode or public testnet RPC endpoint

Node & DAS Server Setup

  1. Setup the Celestia DAS Server

    • Repository: https://github.com/celestiaorg/nitro-das-celestia/

    • Configuration for testnet:

    docker run -d --rm --name celestia-das-server \
        -p 9876:9876 \
        --entrypoint /bin/celestia-server \
        ghcr.io/celestiaorg/nitro-das-celestia:v0.4.1 \
        --enable-rpc --rpc-addr=0.0.0.0 --rpc-port=9876 \
        --celestia.rpc=<YOUR_CELESTIA_TESTNET_ENDPOINT>\
        --celestia.namespace-id=<TESTNET_NAMESPACE_ID> 
  2. Connect to a Celestia testnet RPC endpoint

    • Use testnet RPC endpoints

Download Snapshot (Recommended)

Syncing a node from scratch can be extremely time-consuming and resource-intensive. We strongly recommend downloading our latest snapshot:

  1. Download Gravity L2 Sepolia Testnet Node Snapshot

Running the node

Save the following script as run-gravity-testnet-node.sh, make it executable with chmod +x run-gravity-node.sh, and update the TODO variables:

#!/bin/bash

# Define dependent variables
LOCAL_DIR="TODO"                      # Replace with your local directory path
ETH_SEPOLIA_RPC="TODO"                 # Replace with your Ethereum Sepolia testnet RPC endpoint
ETH_SEPOLIA_BEACON_RPC="TODO"          # Replace with your Ethereum Sepolia beacon RPC endpoint
CELESTIA_DAS_URL="TODO"                # Replace with your Celestia DAS server URL (e.g., http://localhost:9876)

# Run the Docker container
docker run --rm -it \
    --add-host=host.docker.internal:host-gateway \
    -v "$LOCAL_DIR:/home/user/.arbitrum" \
    -p 0.0.0.0:8547:8547 \
    -p 0.0.0.0:8548:8548 \
    ghcr.io/celestiaorg/nitro:v3.3.2 \
    --parent-chain.connection.url="$ETH_SEPOLIA_RPC" \
    --chain.id=13505 \
    --chain.name=conduit-orbit-deployer \
    --http.api=net,web3,eth \
    --http.corsdomain="*" \
    --http.addr=0.0.0.0 \
    --http.vhosts="*" \
    --persistent.db-engine="pebble" \
    --chain.info-json='[
        {
            "chain-id": 13505,
            "parent-chain-id": 11155111,
            "chain-name": "conduit-orbit-deployer",
            "chain-config": {
                "chainId": 13505,
                "homesteadBlock": 0,
                "daoForkBlock": null,
                "daoForkSupport": true,
                "eip150Block": 0,
                "eip150Hash": "0x0000000000000000000000000000000000000000000000000000000000000000",
                "eip155Block": 0,
                "eip158Block": 0,
                "byzantiumBlock": 0,
                "constantinopleBlock": 0,
                "petersburgBlock": 0,
                "istanbulBlock": 0,
                "muirGlacierBlock": 0,
                "berlinBlock": 0,
                "londonBlock": 0,
                "clique": {
                    "period": 0,
                    "epoch": 0
                },
                "arbitrum": {
                    "EnableArbOS": true,
                    "AllowDebugPrecompiles": false,
                    "DataAvailabilityCommittee": true,
                    "InitialArbOSVersion": 11,
                    "InitialChainOwner": "0x218a4534C699CE35dc929ff4ca845C05Af9A57a2",
                    "GenesisBlockNum": 0
                }
            },
            "rollup": {
                "bridge": "0x946CF7F3238537e51B017369E523425A18996C23",
                "inbox": "0xe50eBd835F5f17fdEC0A547c37343F080B664357",
                "sequencer-inbox": "0x3eb7334755Fb41dC01400B15C8cC0C64B36E5969",
                "rollup": "0xDE145C4Ef9699D130848167d512dD1D09f173066",
                "validator-utils": "0xb33Dca7b17c72CFC311D68C543cd4178E0d7ce55",
                "validator-wallet-creator": "0x75500812ADC9E51b721BEa31Df322EEc66967DDF",
                "deployed-at": 5979967
            }
        }
    ]' \
    --node.data-availability.enable \
    --node.data-availability.rest-aggregator.enable \
    --node.data-availability.rest-aggregator.urls=https://das-gravity-testnet-sepolia-34ow2embsc.t.conduit.xyz \
    --node.celestia-cfg.enable=true \
    --node.celestia-cfg.url="$CELESTIA_DAS_URL" \
    --execution.forwarding-target=https://rpc-sepolia.gravity.xyz \
    --node.feed.input.url=wss://relay-gravity-testnet-sepolia-34ow2embsc.t.conduit.xyz \
    --parent-chain.blob-client.beacon-url="$ETH_SEPOLIA_BEACON_RPC"

References

For more information, please check out the following guides:

  1. https://docs.arbitrum.io/node-running/how-tos/running-an-orbit-node

  2. https://docs.conduit.xyz/guides/run-a-node/arbitrum-node

  3. https://docs.celestia.org/how-to-guides/arbitrum-full-node