Configuration Methods
Command-Line Arguments
The primary way to configure Tempo:Environment Variables
Some options support environment variables:Network Selection
Chain Options
Select which network to connect to:Network Details
| Network | Chain ID | Type | Default RPC |
|---|---|---|---|
| mainnet | 4217 | Production | wss://rpc.testnet.tempo.xyz |
| moderato | 42431 | Testnet | wss://rpc.moderato.tempo.xyz |
| testnet (andantino) | 42429 | Testnet | wss://rpc.testnet.tempo.xyz |
| dev | Custom | Local | Local only |
Data Directory
Base Data Directory
Specify where to store blockchain data:- Linux:
~/.local/share/tempo/ - macOS:
~/Library/Application Support/tempo/
Consensus Data Directory
Override consensus data location:RPC Configuration
HTTP RPC
Enable HTTP JSON-RPC:--http: Enable HTTP RPC server--http.addr <IP>: Bind address (default:127.0.0.1)--http.port <PORT>: Port to listen on (default:8545)--http.api <APIS>: Enabled API namespaces--http.corsdomain <ORIGINS>: CORS origins (comma-separated)
WebSocket RPC
Enable WebSocket RPC:--ws: Enable WebSocket RPC server--ws.addr <IP>: Bind address (default:127.0.0.1)--ws.port <PORT>: Port to listen on (default:8546)--ws.api <APIS>: Enabled API namespaces--ws.origins <ORIGINS>: Allowed origins (comma-separated)
Available APIs
eth: Ethereum JSON-RPC methodsweb3: Web3 client versionnet: Network informationdebug: Debug and trace methodstrace: Transaction tracingtempo: Tempo-specific methods
Consensus Configuration
Validator nodes require consensus layer configuration.Required Validator Settings
Consensus Network
Configure consensus P2P networking:--consensus.listen-address <IP:PORT>: Address for consensus P2P (default:127.0.0.1:8000)--consensus.metrics-address <IP:PORT>: Metrics endpoint (default:127.0.0.1:8001)--consensus.signing-key <PATH>: Ed25519 signing key for P2P--consensus.signing-share <PATH>: BLS12-381 threshold signing share--consensus.fee-recipient <ADDRESS>: Address to receive block rewards
Consensus Performance
Tune consensus performance:--consensus.worker-threads <N>: Worker threads (default:3)--consensus.message-backlog <N>: Message queue size (default:16384)--consensus.mailbox-size <N>: Mailbox capacity (default:16384)--consensus.deque-size <N>: Block buffer per peer (default:10)--consensus.max-message-size-bytes <N>: Max message size (default:1048576)
Consensus Timeouts
Adjust consensus timing:--consensus.wait-for-proposal <DURATION>: Wait for leader proposal (default:1200ms)--consensus.wait-for-notarizations <DURATION>: Wait for notarization quorum (default:2s)--consensus.time-to-build-proposal <DURATION>: Block build time (default:500ms)--consensus.time-to-build-subblock <DURATION>: Subblock build time (default:100ms)--consensus.wait-for-peer-response <DURATION>: Peer response timeout (default:2s)
Local Network Mode
For development or private networks:Networking
P2P Configuration
Configure execution layer P2P:--port <PORT>: P2P listening port (default:30303)--discovery.port <PORT>: Discovery port (default: same as--port)--nat <METHOD>: NAT traversal method (none,extip:<IP>,upnp)--bootnodes <ENODES>: Comma-separated bootnode ENR addresses
Follow Mode
Run a non-validating node that follows another RPC:Logging & Telemetry
Log Level
Control log verbosity:error, warn, info, debug, trace
Unified Telemetry
Export metrics and logs to a telemetry backend:- OTLP Logs: Exported to
/opentelemetry/v1/logs - Prometheus Metrics: Pushed to
/api/v1/import/prometheus
Pyroscope Profiling
Enable continuous profiling (requirespyroscope feature):
Transaction Pool
Configure the transaction pool:Snapshots & Sync
Download Snapshot
Fast sync using snapshots:- Mainnet:
https://snapshots.tempoxyz.dev/4217 - Moderato:
https://snapshots.tempoxyz.dev/42431 - Andantino:
https://snapshots.tempoxyz.dev/42429
Faucet (Testnet Only)
Enable built-in faucet for testnet:Example Configurations
Archive Node
Full archival node with all history:Validator Node
Production validator:Development Node
Local development with all features:Configuration Files
While Tempo primarily uses CLI arguments, consensus configuration can use TOML files:consensus.toml
Next Steps
- Run your node - Start and connect to the network
- Maintenance - Keep your node healthy and updated