Gravity Alpha Mainnet (L2) Node Setup
Instructions about how to run a Gravity Alpha Mainnet node.
Guide
Prerequisites
A local directory for storing node data
An Ethereum mainnet RPC endpoint with unlimited rate limit for eth_getLogs
An Ethereum beacon chain RPC endpoint
Connection to a Celestia lightnode or public RPC endpoint
DAS Server Setup
Setup the Celestia DAS Server
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.5.4-mocha \ --enable-rpc --rpc-addr=0.0.0.0 --rpc-port=9876 \ --celestia.rpc=<YOUR_CELESTIA_ENDPOINT> \ --celestia.namespace-id=0000047d50b18e30e965 \ --fallback-enabled \ --das.rpc.url="https://dap-gravity-mainnet-0.t.conduit.xyz"
Connect to a Celestia RPC endpoint
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:
Extract the snapshot to your local directory before running the node.
In our experiment, syncing from scratch without using snapshots will take 20+ days.
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://host.docker.internal: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.6.8 \
--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=false \
--node.da-provider.enable=true \
--node.da-provider.rpc.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"
You MUST start the Celestia-server before starting the fullnode. Otherwise, the fullnode will fail to parse batch messages, leading to the creation of abnormal blocks.
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:
Last updated
Was this helpful?