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

Run a Celestia DA Server

To integrate Celestia DA with a Plume node, follow the steps below to deploy the DAS server in Docker.

Create your celestia-server.yaml file with the below config to run the Celestia DAS server.

Docker Compose Snippet

celestia-server.yaml
services:
  celestia-server:
    image: ghcr.io/celestiaorg/nitro-das-celestia:v0.5.2
    container_name: celestia-server
    entrypoint:
      - /bin/celestia-server
      - --celestia.namespace-id
      - "00000d048007a33abfeb"
      - --rpc-addr
      - "0.0.0.0"
      - --rpc-port
      - "26657"
      - --celestia.rpc
      - "CELESTIA_ENDPOINT"
      - --log-level
      - "DEBUG"
    ports:
      - "1317:1317"
      - "9090:9090"
      - "26657:26657" # Celestia RPC Port
      - "1095:1095"
      - "8080:8080"

Make sure to use 00000d048007a33abfeb as the Namespace ID for Plume Mainnet

Start Celestia DA Server

docker-compose -f celestia-server.yaml up -d

Check logs

docker logs celestia-server

Run a Plume Nitro Node

Before running Plume Nitro Node, please check if the Celestia DA server is running with the correct Namespace ID.

Create your plume-mainnet.yaml file with the below config to run the Plume Mainnet node.

Docker Compose Snippet

plume-mainnet.yaml
services:
  plume-mainnet:
    image: ghcr.io/conduitxyz/plume-nitro:v3.3.2-celestia
    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.celestia-cfg.enable=true
      - --node.celestia-cfg.url=http://celestia-server:26657
      - --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
      - --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 Plume Mainnet Node

docker-compose -f plume-mainnet.yaml up -d

Check logs

docker logs plume-mainnet

Troubleshooting

  • Running on MacOS/Linux

If you are running this setup on an Apple Silicon (M1/M2) Mac, add platform: linux/amd64 to both Celestia Server and Plume Nitro Node service definitions in your YAML files to ensure compatibility.

Last updated