Validator Node Guide (Restricted)

Running a Aurora Node with the Aurora Protocol

Unavailable for public access, the Aurora Protocol is only accepting institutional clients at this time.

How to Run a Aurora Node with the Aurora Protocol L3 Chain on Solana

This guide provides step-by-step instructions for running a Aurora node on your local machine.


Prerequisites

  1. Docker: Install Docker and ensure it’s running on your machine.

  2. System Requirements:

    • RAM: 8-16 GB

    • CPU: 2-4 cores

    • Storage: Varies depending on Aurora chain traffic over time.

  3. Aurora Configuration Details: Obtain the following:

    • Parent chain RPC URL.

    • Chain information JSON.

    • Sequencer node URL (if applicable).


Step 1: Get the Docker Image

Download the latest Aurora node Docker image:

docker pull aurora/nitro-node:latest

Step 2: Create a Data Directory

Create a directory for persistent data:

mkdir -p /path/to/aurora-data
chmod -R 777 /path/to/flora-data

Step 3: Gather Required Parameters

  1. Parent Chain RPC: Replace <Parent RPC URL> with the RPC endpoint of the parent chain.

    Copy

    --parent-chain.connection.url=<Parent RPC URL>
  2. Child Chain Info JSON: Example JSON:

    [{
       "chain-id":10263,
       "parent-chain-id":421614,
       "chain-name":"conduit-orbit-deployer",
       "chain-config":{
          "chainId":10263,
          "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":32,
             "InitialChainOwner":"0x39f15185A5db359BAEd62D7efA40C99f88f5Ed3d",
             "GenesisBlockNum":0
          }
       },
       "rollup":{
          "bridge":"0xA5A1E43f6a1D7F6aFc92516DA5B07A25C6f4D8E7",
          "inbox":"0x5eC840B65FA9b35539FC91938cBfDfEe78b3dCd0",
          "sequencer-inbox":"0xC030b2607B8b195b3F4A343123E8ad342dF8294c",
          "rollup":"0x2D4A586430dd38A05FE185715672b76A04e562b7",
          "validator-utils":"0x7a135bFC73FE67c1C32FA5C8048e2aF368708dBc",
          "validator-wallet-creator":"0xf16584F5f4Fbb692818c5a4C2e09CFf39C6F10F8",
          "deployed-at":110999521
       }
    }]

    Use this JSON with the --chain.info-json flag.

  3. Chain Name: Set the name of the chain using --chain.name. Example:

    --chain.name="conduit-orbit-deployer"
  4. Sequencer Endpoint: If running as a non-sequencer node, add:

    --execution.forwarding-target=<Sequencer RPC URL>

Step 4: Run the Node

Run the following Docker command:

docker run --rm -it \
-v /path/to/ndai-data:/home/user/.ndai\
-p 8547:8547 \
-p 8548:8548 \
ndai/nitro-node:latest \
--parent-chain.connection.url=<Parent RPC URL> \
--chain.info-json='[{"chain-id":10263,"parent-chain-id":421614,"chain-name":"conduit-orbit-deployer","chain-config":{"chainId":10263,"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":32,"InitialChainOwner":"0x39f15185A5db359BAEd62D7efA40C99f88f5Ed3d","GenesisBlockNum":0}},"rollup":{"bridge":"0xA5A1E43f6a1D7F6aFc92516DA5B07A25C6f4D8E7","inbox":"0x5eC840B65FA9b35539FC91938cBfDfEe78b3dCd0","sequencer-inbox":"0xC030b2607B8b195b3F4A343123E8ad342dF8294c","rollup":"0x2D4A586430dd38A05FE185715672b76A04e562b7","validator-utils":"0x7a135bFC73FE67c1C32FA5C8048e2aF368708dBc","validator-wallet-creator":"0xf16584F5f4Fbb692818c5a4C2e09CFf39C6F10F8","deployed-at":110999521}}]' \
--chain.name="conduit-orbit-deployer" \
--http.api=net,web3,eth \
--http.addr=0.0.0.0 \
--ws.port=8548 \
--ws.addr=0.0.0.0

Step 5: Verify Node Status

Check the logs to ensure the node is syncing:

docker logs -f <container_id>

Tips

  • Persistent Data: Ensure /path/to/ndai-data exists for storing node data across restarts.

  • Firewall Settings: Open ports 8547 (HTTP) and 8548 (WebSocket).

  • Graceful Shutdown: Stop the node safely to save its state:

    Copy

    docker stop --time=300 $(docker ps -q)

You are now running a full Aurora node!