Plume
  • Introduction
    • Overview
  • Plume Portal
    • About the Portal
  • Bridge and Swap
  • Stake
  • Plume Points (PP)
  • Official Tokens
    • PLUME ($PLUME) Token
    • Plume USD (pUSD)
    • Plume ETH (pETH)
  • Plume Security
    • AML Screening
    • Compliance at Plume
    • Audits and Security
  • Developers
    • Network Information
    • Smart Contracts
    • How-to Guides
      • How to Connect to Network
        • Install and Configure Wallet
        • Claim test tokens
      • How to Deploy Smart Contracts
        • Deploy using Remix IDE
        • Deploy using Foundry
        • Deploy using Hardhat
      • How to Verify Smart Contracts
        • Verify using Foundry
        • Verify using Hardhat
      • How to Run a Node
    • Tools & Services
      • Account Abstraction
      • Bridges
      • Oracles
      • Data Indexers
      • Node Providers
      • OnRamps
      • Analytics
      • Custodians
      • SDK
      • Misc Tools
    • Plume vs. Ethereum
    • Gas and Fees
    • Finality
    • DeFi Strategy Shortcuts
  • Community and Support
    • Community Channels
    • Brand Assets
    • Terms of Service
    • Privacy Policy
  • MORE
    • Glossary
    • FAQ
Powered by GitBook
On this page
  • Hardware Requirements
  • Prerequisites
  • Troubleshooting
  1. Developers
  2. How-to Guides

How to Run a Node

This guide provides a step-by-step walkthrough for running a Plume Testnet or Plume Mainnet 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

  • Docker Engine

  • Docker Compose

Run a Celestia DA Server

To integrate Celestia DA with a Plume Nitro Mainnet 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.4.3
    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"

Replace CELESTIA_ENDPOINT with your Celestia RPC URL, we recommend you to use Quicknode for getting an Celestia Endpoint.

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 Plume Mainnet's Namespace ID.

Check Status of Celestia Server

docker ps -f name=celestia-server

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

Replace 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

Start Plume Mainnet Node

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

Check logs

docker logs plume-mainnet

Run a Celestia DA Server

To integrate Celestia DA with a Plume Nitro Testnet node, follow the steps below to deploy the DAS server in Docker. Create your celestia-server-mocha.yaml file with the below config to run the Celestia DAS server.

Docker Compose Snippet

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

Replace CELESTIA_MOCHA_ENDPOINT with your Celestia Mocha RPC URL, we recommend you to use Quicknode for getting an Celestia Endpoint.

Make sure to use 0cd3a18eab940678 as the Namespace ID for Plume Testnet.

Start Celestia DA Server

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

Check logs

docker logs celestia-server-mocha

Run a Plume Nitro Node

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

Check Status of Celestia Server

docker ps -f name=celestia-server-mocha

Create your plume-testnet.yaml file with the below config to run the Plume Testnet node.

Docker Compose Snippet

plume-testnet.yaml
services:
  plume-testnet:
    image: ghcr.io/conduitxyz/plume-nitro:v3.3.2-celestia
    container_name: plume-testnet
    restart: unless-stopped
    ports:
      - "8547:8547"
      - "6070:6070"
    command:
      - --chain.id=98867
      - --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":98867,"parent-chain-id":11155111,"chain-name":"conduit-orbit-deployer","chain-config":{"chainId":98867,"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":"0x09a24DD120676EA4034cD47BfA4432a6a87A8a42","GenesisBlockNum":0}},"rollup":{"bridge":"0xC55b89c17d7a35877FA4ea818fea2a70d5765f1c","inbox":"0xb48cdff890199f5De31514024B95F8664F8Af222","sequencer-inbox":"0xbCa991f1831bE1F1E7e5576d5F84A645e70F3E4d","rollup":"0x76268c4a75D1bE588356569acbfE03366d9eDCbD","validator-utils":"0x9d502DD38E6E7FBdd3b7e964345d544ec37f1D72","validator-wallet-creator":"0x684A827456373a0C0379B1C82BA31Ee5E4F88F62","deployed-at":7889627}}]
      - --node.celestia-cfg.enable=true
      - --node.celestia-cfg.url=http://celestia-server-mocha:26657
      - --node.data-availability.enable=true
      - --node.data-availability.rest-aggregator.enable=true
      - --node.data-availability.rest-aggregator.urls=https://das-plume-testnet-1.t.conduit.xyz
      - --execution.forwarding-target=https://testnet-rpc.plume.org
      - --execution.caching.archive
      - --parent-chain.connection.url=<ETH_SEPOLIA_RPC_URL>
      - --parent-chain.blob-client.beacon-url=<ETH_SEPOLIA_BEACON_RPC_URL>
      - --node.staker.enable=false
      - --node.feed.input.url=wss://relay-plume-testnet-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

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 Plume Testnet Node

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

Check logs

docker logs plume-testnet-node

Troubleshooting

  • Running on Mac

If you are running this setup on an Apple Silicon (M1/M2) Mac, add platform: linux/amd64 to both celestia-server and plume-mainnet service definitions in your YAML files to ensure compatibility.

PreviousVerify using HardhatNextTools & Services

Last updated 10 days ago