Run Full Node
Get step by step instructions on how to run a full-node on Onyx
How to Run a Full Node for Onyx
This guide provides step-by-step instructions for running an Onyx node on your local machine.
Prerequisites
Latest Docker Image
offchainlabs/nitro-node:v3.4.0-d896e9c
Minimum Hardware Configuration
RAM: 8-16 GB
CPU: 2-4 core CPU (For AWS: t3 xLarge)
Storage: 50GB
Required Parameters
1. Parent Chain Parameters
The parent-chain argument must provide a standard RPC endpoint for an EVM node, either self-hosted or obtained from a node service provider:
Note: Public Arbitrum RPC endpoints have rate limits. To avoid bottlenecks, consider running a local node for the parent chain or using third-party RPC providers.
2. Child Chain Parameters
The child chain in an Arbitrum Orbit context is an L2 or an L3 Orbit chain. The required parameters are:
1. chain.info-json
This parameter contains necessary information about the Orbit chain:
--chain.info-json=<Orbit Chain's chain info>
An example JSON format is provided in the next section.
2. chain.name
This mandatory flag must match the chain name specified in --chain.info-json:
3. execution.forwarding-target
If running a regular full node (not a sequencer), set this flag:
4. AnyTrust Chains
For AnyTrust chains, additional flags are required:
Additionally, specify either:
Or:
Important Ports
Protocol
Port
RPC/http
8547
RPC/websocket
8548
Sequencer Feed
9642
For RPC/websocket protocol, enable the required ports using:
Putting It All Together
When running a Docker image, mount an external volume to persist the database across restarts. The mount point inside the Docker image should be:
/home/user/.arbitrum
Example Command:
Important: Ensure /some/local/dir/arbitrum exists before running the command to avoid permission issues.
Example --chain.info-json Format:
Graceful Shutdown
Ensure a graceful shutdown to save the current state:
Sequencer Feed
Nitro nodes can receive real-time ordered transactions from the sequencer feed. If the feed input URL is not set, the node will listen to the parent chain's inbox contract, which may prevent synchronization with the latest state.
Enable Sequencer Feed Synchronization
For chain owners, ensure the sequencer is configured with:
Optional Parameters
Flag
Description
--execution.rpc.classic-redirect=<RPC>
Redirects archive requests for pre-nitro blocks to an Arbitrum Classic node.
--http.api
Offered APIs over HTTP-RPC. Default: net,web3,eth,arb. Add debug for tracing.
--execution.forwarding-target=<RPC>
Defaults to L2 Sequencer RPC based on provided L1 and L2 chain IDs.
For a full list of parameters, use:
--help
Last updated