LogoLogo
HomeExplorer
  • Overview
    • Introduction
    • Ecosystem VC Alliance
  • Research
    • Gravity Litepaper
    • Grevm 2.0 (Gravity EVM)
    • (Archived) Grevm 1.0
  • ECOSYSTEM PROGRAMS
    • Developer Grant Program
    • Community Program: Galactic G
  • Network
    • Gravity Devnet (L1)
    • Gravity Alpha Mainnet & Sepolia Testnet (L2)
    • Gravity Alpha Mainnet (L2) Node Setup
    • Gravity Testnet Sepolia (L2) Node Setup
  • Tokens on Gravity
    • G Token
    • How to Get G
    • How to Get Test Tokens
    • Token Contracts on Gravity
  • Developer Resources
    • Mainnet Contract Addresses
    • Testnet Contract Addresses
  • Verify a Smart Contract
  • INTEGRATIONS
    • Wallets & Exchanges
    • Onramps
    • Node Providers
    • Developer Utilities
    • Explorers
    • Oracles
    • Smart Contract Wallets
    • Indexers
    • Data Analytics Platforms
    • Gravity Name Service
  • Community
    • X / Twitter
    • Discord
    • Telegram
Powered by GitBook
On this page
  • Guide
  • Additional Information
  • References

Was this helpful?

Export as PDF
  1. Network

Gravity Alpha Mainnet (L2) Node Setup

Instructions about how to run a Gravity Alpha Mainnet node.

PreviousGravity Alpha Mainnet & Sepolia Testnet (L2)NextGravity Testnet Sepolia (L2) Node Setup

Last updated 22 days ago

Was this helpful?

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 mainnet RPC endpoint with unlimited rate limit for eth_getLogs

  3. An Ethereum beacon chain RPC endpoint

  4. Connection to a Celestia lightnode or public RPC endpoint

DAS Server Setup

  1. Setup the Celestia DAS Server

    • Repository:

    • Configuration for mainnet:

    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_ENDPOINT>\
        --celestia.namespace-id=0000047d50b18e30e965
  2. Connect to a Celestia RPC endpoint

    • Use

    • Or setup your own Celestia lightnode

Download Snapshot (Recommended)

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

  1. Extract the snapshot to your local directory before running the node.

In our experiment, syncing from scratch without using snapshots will take 12-15 days for Gravity Alpha Mainnet. The experiment was done in March 2025, when the block height of Gravity Alpha Mainnet is around 51,413,000.

Running the Node

Save the following script as run-gravity-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_MAINNET_RPC="TODO"          # Replace with your Ethereum mainnet RPC endpoint
ETH_BEACON_RPC="TODO"           # Replace with your Ethereum beacon chain 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_MAINNET_RPC" \
    --chain.id=1625 \
    --chain.name=conduit-orbit-deployer \
    --http.api=net,web3,eth \
    --http.corsdomain="*" \
    --http.addr=0.0.0.0 \
    --http.vhosts="*" \
    --chain.info-json='[
        {
            "chain-id": 1625,
            "parent-chain-id": 1,
            "chain-name": "conduit-orbit-deployer",
            "chain-config": {
                "chainId": 1625,
                "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": "0xd65776c5F9fA552cB5C9556B3e86bF6c376b233b",
                    "GenesisBlockNum": 0
                }
            },
            "rollup": {
                "bridge": "0x7983403dDA368AA7d67145a9b81c5c517F364c42",
                "inbox": "0x7AD2a94BefF3294a31894cFb5ba4206957a53c19",
                "sequencer-inbox": "0x8D99372612e8cFE7163B1a453831Bc40eAeb3cF3",
                "rollup": "0xf993AF239770932A0EDaB88B6A5ba3708Bd58239",
                "validator-utils": "0x2b0E04Dc90e3fA58165CB41E2834B44A56E766aF",
                "validator-wallet-creator": "0x9CAd81628aB7D8e239F1A5B497313341578c5F71",
                "deployed-at": 19898364
            }
        }
    ]' \
    --node.data-availability.enable \
    --node.data-availability.rest-aggregator.enable \
    --node.data-availability.rest-aggregator.urls=https://das-gravity-mainnet-0.t.conduit.xyz \
    --node.celestia-cfg.enable=true \
    --node.celestia-cfg.url="$CELESTIA_DAS_URL" \
    --execution.forwarding-target=https://rpc.gravity.xyz \
    --node.feed.input.url=wss://relay-gravity-mainnet-0.t.conduit.xyz \
    --parent-chain.blob-client.beacon-url="$ETH_BEACON_RPC"

Additional Information

  • The chain info is obtained from Conduit:

curl https://api.conduit.xyz/file/v1/arbitrum/chaininfo/gravity-mainnet-0
  • Relay endpoint is provided by Conduit as wss://relay-gravity-mainnet-0.t.conduit.xyz

  • Gravity Alpha Mainnet uses Anytrust DA, with aggregator URL: https://das-gravity-mainnet-0.t.conduit.xyz

  • Celestia namespace for Gravity mainnet: 0000047d50b18e30e965

References

For more information, please check out the following guides:

https://github.com/celestiaorg/nitro-das-celestia/
production RPC endpoints
Download Gravity L2 Node Snapshot
https://docs.arbitrum.io/node-running/how-tos/running-an-orbit-node
https://docs.conduit.xyz/guides/run-a-node/arbitrum-node
https://docs.celestia.org/how-to-guides/arbitrum-full-node