Run Docker Container
Start a detached Docker container with the Nitro-Plume image:
Copy docker run -d \
--name plume-testnet-node \
--network host \
nitro-plume:0.0.3
-d
: Runs the container in detached mode.
--name plume-testnet-node
: Names the container.
--network host
: Uses the host’s network stack (bypass Docker networking).
Expose ports for HTTP and Metrics:
Copy -p 8547:8547 \ # HTTP JSON-RPC port
-p 6070:6070 \ # Metrics server port
Enable APIs and configure CORS:
Copy --http.api=net,web3,eth,debug \
--http.corsdomain="*" \ # Allows all CORS origins
--http.addr=0.0.0.0 \ # Listens on all interfaces
--http.vhosts="*" # Allows all virtual hosts
Set Ethereum Sepolia RPC and Beacon URLs:
Copy --parent-chain.connection.url=<ETH_SEPOLIA_RPC_URL> \
--parent-chain.blob-client.beacon-url=<ETH_SEPOLIA_BEACON_RPC_URL>
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
Enable metrics and configure the server:
Copy --metrics \
--metrics-server.addr=127.0.0.1 \
--metrics-server.port=6070 \
--metrics-server.update-interval=5s
Define chain ID and preconfigured chain info:
Copy --chain.id=98867 \
--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}}]' \
--chain.name=conduit-orbit-deployer
The --chain.info-json
contains a predefined Plume Testnet chain configuration.
Enable archive caching and forwarding:
Copy --execution.caching.archive \
--execution.forwarding-target=https://testnet-rpc.plumenetwork.xyz
Enable DA and configure REST aggregator:
Copy --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
Disable staking and set feed input:
Copy --node.staker.enable=false \
--node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz
Full Command:
Copy docker run -d \
-p 8547:8547 \
-p 6070:6070 \
--name plume-testnet-node \
--network host \
nitro-plume:0.0.3 \
--http.api=net,web3,eth,debug \
--http.corsdomain="*" \
--http.addr=0.0.0.0 \
--http.vhosts="*" \
--parent-chain.connection.url=<ETH_SEPOLIA_RPC_URL> \
--parent-chain.blob-client.beacon-url=<ETH_SEPOLIA_BEACON_RPC_URL> \
--metrics \
--metrics-server.addr=127.0.0.1 \
--metrics-server.port=6070 \
--metrics-server.update-interval=5s \
--chain.id=98867 \
--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}}]' \
--chain.name=conduit-orbit-deployer \
--execution.caching.archive \
--execution.forwarding-target=https://testnet-rpc.plumenetwork.xyz \
--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 \
--node.staker.enable=false \
--node.feed.input.url=wss://relay-plume-testnet-1.t.conduit.xyz