Build / Integration Guide / Troubleshooting
9. Troubleshooting
🔧 Common Issues: This section covers the most frequently encountered problems and their solutions when integrating Tari into exchanges.
🐛 Common Issues and Solutions
Sync Issues
# Check node sync status
grpcurl -plaintext localhost:18142 tari.rpc.BaseNode/GetSyncInfo
# Check tip info
grpcurl -plaintext localhost:18142 tari.rpc.BaseNode/GetTipInfo
# Check connected peers
grpcurl -plaintext localhost:18142 tari.rpc.BaseNode/ListConnectedPeers
# Common fixes for sync issues:
# 1. Restart services: docker-compose restart
# 2. Clear peer ban list: rm ~/.tari/mainnet/peer_db/banned_peers
# 3. Manual peer addition: Use SetBaseNode RPC call
Connectivity
# Verify the gRPC port is listening locally
ss -tlnp | grep 18142
# Test raw TCP connectivity to a peer
nc -zv PLACEHOLDER_peer_address 18141
# Check firewall rules aren't blocking required ports
sudo ufw status | grep -E "18141|18142|18143"
# Check DNS/Tor resolution if using hidden services
torsocks curl -s https://check.torproject.org | grep -i congratulations
# Common fixes:
# 1. Open firewall ports: sudo ufw allow 18141/tcp
# 2. Restart Tor if using hidden service transport: sudo systemctl restart tor
# 3. Verify NAT/port forwarding on routers for self-hosted nodes
Transactions
# Check the status of a specific transaction
grpcurl -plaintext -d '{"transaction_ids": ["PLACEHOLDER_tx_id"]}'
localhost:18143 tari.rpc.Wallet/GetTransactionInfo
# List recent completed transactions
grpcurl -plaintext localhost:18143 tari.rpc.Wallet/GetCompletedTransactions
# Check for stuck/pending transactions
grpcurl -plaintext localhost:18143 tari.rpc.Wallet/GetPendingTransactions
# Common fixes:
# 1. A transaction stuck as "pending" usually means it hasn't been mined yet - verify on a
# block explorer using the transaction's excess signature
# 2. If a payment ID isn't matching, confirm it was passed as raw bytes, not double-encoded
# 3. Re-broadcast a stuck transaction: wallet cancel-transaction then resubmit
Performance
# Check base node resource usage
top -b -n 1 | grep minotari_node
# Check disk I/O - blockchain sync is I/O heavy
iostat -x 1 5
# Check database size and growth rate
du -sh ~/.tari/mainnet/data/base_node
# Check gRPC request latency
time grpcurl -plaintext localhost:18142 tari.rpc.BaseNode/GetTipInfo
# Common fixes:
# 1. Move blockchain data to an NVMe SSD if on spinning disk or network storage
# 2. Increase the node's connection pool size in config.toml if gRPC calls are queuing
# 3. Add a read replica / additional read-only wallet if monitoring load is high