PerformanceBlog
Tempo MCP serverGive agents search and read tools for Tempo docs
Skip to content
LogoLogo

Troubleshooting and FAQ

My node is not proposing blocks

Once your node is proposing blocks, it will start emitting logs like these:

INFO handle_propose{epoch=18 view=387213 parent.view=387212 parent.digest=0x43885416b4a7ae7550c615ad4dc702045cd26540b78fa2bd75abdcbfbef02d9d}: tempo_commonware_node::consensus::application::actor: constructed proposal proposal.digest=0x6baa8fa813beea491cf598024d8b31cb2927e7ba1b92a29899a795dbafd682c6 proposal.height=5733680

If you do not see logs like these:

  • Check that your validator is part of the active set, and is both a player and a dealer.
  • Check that your node is synced up to the latest block height.
  • Check that your outgoing IP address matches the one whitelisted on the validator smart contract:
tempo consensus validators-info --rpc-url https://rpc.tempo.xyz

My node is not connecting to peers

If consensus_engine_peer_manager_peers remains at 0 for more than 3 hours after your validator was added on-chain:

  • Verify your firewall allows inbound connections on the ingress port you registered.
  • Verify your egress IP matches the one registered on-chain — check with tempo consensus validator <pubkey> --rpc-url https://rpc.tempo.xyz.
  • If you have reset your validator's data without rotating to a new identity, your node may have been blocked due to double-signing. In that case, reach out to the Tempo team to coordinate a new validator identity.

My node's DKG metrics are not increasing

If how_often_dealer and how_often_player are not increasing after 6 hours:

  • Confirm your node is connected to peers (see above).
  • Check that your validator has progressed past the Syncer state — it takes at least one full epoch (~3 hours) after on-chain addition before your node participates in DKG.
  • Check DKG failure count: if consensus_engine_dkg_manager_ceremony_failures_total is increasing, your node may be failing to complete ceremonies. Enable debug logging for more detail:
    RUST_LOG=info,tempo_commonware_node::dkg=debug

My node is rejecting blocks or missing proposals

If your node logs block validation errors (e.g. "block timestamp is in the future") or you notice missed proposals, a potential root cause is clock drift. Check whether parent_ahead_of_local_time is increasing in your metrics — if so, your system clock is behind the network.

To fix:

  1. Check your current sync status:

    timedatectl status

    Confirm System clock synchronized: yes and NTP service: active.

  2. Install chrony (if not already installed):

    sudo apt install chrony
    sudo systemctl enable --now chronyd
  3. Verify the offset is acceptable:

    chronyc tracking

    The System time offset should be under a few milliseconds.

  4. Restart your node after fixing the clock to clear any cached invalid block state.

See Time Synchronization for full setup details.

I accidentally deleted my consensus data directory

If you deleted <datadir>/consensus, your signing share is lost but will be automatically recovered from the network when the node restarts. Your node will re-join the committee after the next successful DKG ceremony.

How long does it take for my validator to become active?

After on-chain registration, your validator follows the state transition timeline:

  1. Epoch E (immediate) — registered on the p2p network, starts syncing.
  2. Epoch E+1 (~3 hours) — becomes a player, receives signing shares.
  3. Epoch E+2 (~6 hours) — becomes a dealer/validator, can propose and vote once synced.

In most cases, your validator will be fully active within 6 hours.

How long does it take for my validator to exit?

After deactivation, your validator is phased out over two epochs:

  1. Epoch E — deactivation transaction submitted. Validator remains fully active.
  2. Epoch E+1 (~3 hours) — still a dealer but no longer a player. In the process of being removed.
  3. Epoch E+2 (~6 hours) — fully out of the committee (assuming no DKG failures).

Keep your node running until in_committee: false — check with validator lookup.

Can I register my validator without the Tempo team?

No — the active validator set is currently permissioned. Only the contract owner can add validators on-chain. To get started, contact the Tempo team.

The onboarding process:

  1. You generate your signing key and registration signature (Steps 1–2).
  2. You provide the required values to the Tempo team (Step 3).
  3. The Tempo team adds your validator on-chain.
  4. You download a snapshot and start your node (Running the validator).

What can I do without the Tempo team?

Once your validator is registered, most operations are self-service:

Only initial registration and reactivation require the Tempo team.

How do I check which version I'm running?

tempo --version

Compare with the latest release on the network upgrades page to ensure you're on a supported version.