Docs

wallet/getnodeinfo - Get TRON Node Information

Get comprehensive TRON node information including version, block height, configuration, and peer connections via Dwellir's enterprise RPC endpoint.

Real-Time Node Monitoring

Dwellir's TRON infrastructure provides instant node status with version info, sync state, and network connectivity. Monitor node health and configuration for optimal integration.

Access node information

Retrieve detailed information about the connected TRON node including software version, network configuration, current block height, and peer connections.

Use Cases

wallet/getnodeinfo is crucial for:

  • Health Monitoring - Check node status and sync state
  • Version Tracking - Verify node software version
  • Network Analysis - Monitor peer connections
  • Configuration Audit - Review node settings
  • Debugging - Troubleshoot connection issues

Request Parameters

Request

This method accepts no parameters.

Response Body

Response
beginSyncNumnumber

Block number when sync started

blockstring

Current block hash and height

solidityBlockstring

Latest solidified block

currentConnectCountnumber

Current peer connections

activeConnectCountnumber

Active peer connections

passiveConnectCountnumber

Passive peer connections

totalFlownumber

Total network traffic

peerListarray

Connected peer information

configNodeInfoobject

Node configuration details

machineInfoobject

Hardware and OS information

cheatWitnessInfoMapobject

Witness validation info

Error Responses

Errors
Error 1

Block number when sync started

Error 2

Current block hash and height

Error 3

Latest solidified block

Error 4

Current peer connections

Error 5

Active peer connections

Error 6

Passive peer connections

Error 7

Total network traffic

Error 8

Connected peer information

Error 9

Node configuration details

Error 10

Hardware and OS information

Error 11

Witness validation info

Implementation Examples

Bash
# Get node information
curl -X POST "https://api-tron-mainnet.n.dwellir.com/YOUR_API_KEY/wallet/getnodeinfo" \
  -H "Content-Type: application/json" \
  -d '{}'

# Parse basic info with jq
curl -s -X POST "https://api-tron-mainnet.n.dwellir.com/YOUR_API_KEY/wallet/getnodeinfo" \
  -H "Content-Type: application/json" \
  -d '{}' | jq '{
    version: .configNodeInfo.codeVersion,
    network: .configNodeInfo.network,
    current_block: .block,
    solidity_block: .solidityBlock,
    peers: .currentConnectCount,
    active_peers: .activeConnectCount
  }'

# Get sync status
curl -s -X POST "https://api-tron-mainnet.n.dwellir.com/YOUR_API_KEY/wallet/getnodeinfo" \
  -H "Content-Type: application/json" \
  -d '{}' | jq '{
    current: (.block | split(",")[0] | split(":")[1] | tonumber),
    solidity: (.solidityBlock | split(",")[0] | split(":")[1] | tonumber),
    lag: ((.block | split(",")[0] | split(":")[1] | tonumber) - 
          (.solidityBlock | split(",")[0] | split(":")[1] | tonumber))
  }'

# Monitor node status script
#!/bin/bash
API_KEY="YOUR_API_KEY"

while true; do
  echo "=== TRON Node Status - $(date) ==="
  
  response=$(curl -s -X POST \
    "https://api-tron-mainnet.n.dwellir.com/$API_KEY/wallet/getnodeinfo" \
    -H "Content-Type: application/json" \
    -d '{}')
  
  if [ $? -eq 0 ]; then
    echo "✓ Node Online"
    echo "$response" | jq -r '
      "Version: " + .configNodeInfo.codeVersion,
      "Network: " + .configNodeInfo.network,
      "Peers: " + (.currentConnectCount | tostring),
      "Block: " + .block
    '
  else
    echo "✗ Node Offline"
  fi
  
  echo ""
  sleep 30
done

# Extract peer information
curl -s -X POST "https://api-tron-mainnet.n.dwellir.com/YOUR_API_KEY/wallet/getnodeinfo" \
  -H "Content-Type: application/json" \
  -d '{}' | jq '
  {
    peer_count: .peerList | length,
    top_peers: [.peerList[] | {
      host: .host,
      port: .port,
      version: .nodeInfo.codeVersion,
      latency: .avgLatency
    }] | sort_by(.latency) | .[0:5]
  }'

Common Use Cases

1. Health Check Endpoint

JavaScript
async function healthCheck() {
  try {
    const info = await getNodeInfo();
    const blockInfo = parseBlockString(info.block);
    const solidityInfo = parseBlockString(info.solidityBlock);
    
    const healthy = 
      info.currentConnectCount > 5 &&
      (blockInfo.number - solidityInfo.number) < 100;
    
    return {
      status: healthy ? 'healthy' : 'degraded',
      details: {
        peers: info.currentConnectCount,
        syncLag: blockInfo.number - solidityInfo.number,
        version: info.configNodeInfo?.codeVersion
      }
    };
  } catch (error) {
    return {
      status: 'unhealthy',
      error: error.message
    };
  }
}

2. Version Compatibility Check

JavaScript
async function checkCompatibility(requiredVersion) {
  const info = await getNodeInfo();
  const nodeVersion = info.configNodeInfo?.codeVersion || '0.0.0';
  
  return {
    compatible: compareVersions(nodeVersion, requiredVersion) >= 0,
    nodeVersion,
    requiredVersion
  };
}

3. Network Statistics

JavaScript
async function getNetworkStats() {
  const info = await getNodeInfo();
  
  // Analyze peer versions
  const versionStats = {};
  info.peerList?.forEach(peer => {
    const version = peer.nodeInfo?.codeVersion || 'Unknown';
    versionStats[version] = (versionStats[version] || 0) + 1;
  });
  
  return {
    totalPeers: info.currentConnectCount,
    activePeers: info.activeConnectCount,
    passivePeers: info.passiveConnectCount,
    versionDistribution: versionStats,
    networkTraffic: formatBytes(info.totalFlow)
  };
}

Best Practices

  1. Cache Results - Node info can be cached for 30-60 seconds
  2. Monitor Regularly - Check node health every 1-5 minutes
  3. Alert Thresholds - Set alerts for low peers or high sync lag
  4. Version Tracking - Monitor node version for required updates
  5. Fallback Nodes - Have backup nodes ready if health degrades

Need help? Contact support or visit our TRON documentation.