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-nodeInitialize the configuration
Create your plume-mainnet.yaml file with the below configuration.
Docker Compose Snippet
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=5sReplace ETH_RPC_URL and ETH_BEACON_RPC_URL with your RPC URLs.
ETH_RPC_URL = execution layer client like Geth, Erigon, Nethermind, or Reth
ETH_BEACON_RPC_URL = consensus layer client like Lighthouse, Prysm, Nimbus, or Teku
Create your plume-testnet.yaml file with the below configuration.
Docker Compose Snippet
Replace ETH_SEPOLIA_RPC_URL and ETH_SEPOLIA_BEACON_RPC_URL with your RPC URLs.
ETH_SEPOLIA_RPC_URL = execution layer client like Geth, Erigon, Nethermind, or Reth
ETH_SEPOLIA_BEACON_RPC_URL = consensus layer client like Lighthouse, Prysm, Nimbus, or Teku
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:
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