How to Run a Node

This guide provides a step-by-step walkthrough for running a Plume Mainnet or Testnet node with Celestia data availability using Docker Compose.

Hardware Requirements

Please visit the Minimum hardware configuration for checking the hardware requirements for running a orbit chain node.

Prerequisites

Configuration

Set up your environment

Create a directory for your node and enter it:

mkdir plume-node
cd plume-node

Initialize the configuration

Create your plume-mainnet.yaml file with the below configuration.

Docker Compose Snippet

plume-mainnet.yaml
services:
  plume-mainnet:
    image: offchainlabs/nitro-node:v3.9.3-8bc5554
    container_name: plume-mainnet
    restart: unless-stopped
    ports:
      - "8547:8547"
      - "6070:6070"
    command:
      - --chain.id=98866
      - --chain.name=conduit-orbit-deployer
      - --http.addr=0.0.0.0
      - --http.corsdomain=*
      - --http.vhosts=*
      - --ws.expose-all
      - --ws.rpcprefix=/
      - --ws.port=8547
      - --ws.addr=0.0.0.0
      - --ws.origins=*
      - --http.api=net,web3,eth,txpool,debug,admin,arb,arbdebug,arbtrace
      - --ws.api=net,web3,eth,txpool,debug
      - --chain.info-json=[{"chain-id":98866,"parent-chain-id":1,"chain-name":"conduit-orbit-deployer","chain-config":{"chainId":98866,"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":"0x5Ec32984332eaB190cA431545664320259D755d8","GenesisBlockNum":0}},"rollup":{"bridge":"0x35381f63091926750F43b2A7401B083263aDEF83","inbox":"0x943fc691242291B74B105e8D19bd9E5DC2fcBa1D","sequencer-inbox":"0x85eC1b9138a8b9659A51e2b51bb0861901040b59","rollup":"0x35c60Cc77b0A8bf6F938B11bd3E9D319a876c2aC","validator-utils":"0x84eA2523b271029FFAeB58fc6E6F1435a280db44","validator-wallet-creator":"0x0A5eC2286bB15893d5b8f320aAbc823B2186BA09","deployed-at":21887008}}]
      - --node.data-availability.enable=true
      - --node.data-availability.rest-aggregator.enable=true
      - --node.data-availability.rest-aggregator.urls=https://das-plume-mainnet-1.t.conduit.xyz
      - --node.data-availability.parent-chain-node-url=<ETH_RPC_URL>
      - --execution.forwarding-target=https://rpc.plume.org
      - --execution.caching.archive
      - --parent-chain.connection.url=<ETH_RPC_URL>
      - --parent-chain.blob-client.beacon-url=<ETH_BEACON_RPC_URL>
      - --node.staker.enable=false
      - --node.feed.input.url=wss://relay-plume-mainnet-1.t.conduit.xyz
      - --node.sequencer=false
      - --execution.rpc.tx-fee-cap=100
      - --execution.rpc.gas-cap=500000000
      - --metrics
      - --metrics-server.addr=0.0.0.0
      - --metrics-server.port=6070
      - --metrics-server.update-interval=5s

Start the Node

Run the following command to start your Plume node:

Verify Operations

Check the logs to ensure the node is syncing successfully:

Node Snapshot

To speed up syncing your node, you can use the latest Plume mainnet snapshot instead of syncing from genesis. Download and extract the snapshot from the link below before starting your node:

Latest Snapshot

This provides a fast, reliable starting point and ensures your node is aligned with the current Plume mainnet state.


Troubleshooting

Running on MacOS (Apple Silicon)/Linux

If you are running this setup on an Apple Silicon (M1/M2/M3)/Linux machine, Docker usually handles emulation automatically. However, if you encounter platform errors, you can force the platform by adding the following line to the plume-mainnet service in your YAML file:

Last updated