Run a Tempo Node
Set up your own RPC node to interact directly with the Tempo network.
RPC Node
Observe & serve queries
Syncs with the network, provides JSON-RPC API access for applications, explorers, and wallets. Does not participate in consensus.
Archive Mode DefaultValidator Node
Consensus participation
Participates in block validation and consensus. Requires coordination with the Tempo team.
Contact RequiredSystem Requirements
Minimum and recommended specifications
RPC Node
CPU
Min: 8 cores|Rec: 16+ cores
RAM
Min: 16 GB|Rec: 32 GB
Storage
Min: 250 GB SSD|Rec: 500 GB NVMe
Network
Min: 500 Mbps|Rec: 1 Gbps
Validator Node
CPU
Min: 8 cores|Rec: 16+ cores
RAM
Min: 16 GB|Rec: 32 GB
Storage
Min: 100 GB NVMe|Rec: 1 TB NVMe
Network
1 Gbps
Port Configuration
Required network ports for node operation
| Port | Protocol | Usage | Access |
|---|---|---|---|
| 30303 | TCP/UDP | Execution P2P | Public |
| 8000 | TCP | Consensus P2P | Validators Only |
| 8545 | TCP | HTTP RPC | Optional |
| 8546 | TCP | WebSocket RPC | Optional |
| 9000 | TCP | Metrics | Internal |
Installation Methods
Choose your preferred installation method
Recommended
Pre-built Binary
curl -L https://tempo.xyz/install | bash
Update with: tempoup
Build from Source
cargo install --git https://github.com/tempoxyz/tempo.git
Docker
docker pull ghcr.io/tempoxyz/tempo:0.7.2
Running an RPC Node
Quick start commands to get your node running
2. Start the Node
tempo node --follow --http --http.port 8545 --http.api eth,net,web3,txpool,trace
Systemd Service (Production)
[Unit] Description=Tempo Node After=network.target [Service] Type=simple User=tempo Group=tempo ExecStart=/usr/local/bin/tempo node \ --datadir /var/lib/tempo \ --follow \ --http \ --http.port 8545 \ --http.api eth,net,web3,txpool,trace \ --metrics 9000 Restart=always RestartSec=5 [Install] WantedBy=multi-user.target
Monitoring Commands
Verify your node is running correctly
Check peer count:
cast rpc net_peerCount --rpc-url http://localhost:8545
Check block height:
cast block-number --rpc-url http://localhost:8545
Monitor logs:
journalctl -u tempo -f