Returns the current transaction count from the ledger
curl https://rpc.orbitflare.com -X POST -H "Content-Type: application/json" -d '{ "jsonrpc": "2.0", "id": 1, "method": "getTransactionCount" }'
import { Connection } from '@solana/web3.js'; const connection = new Connection('https://rpc.orbitflare.com'); // Get transaction count const count = await connection.getTransactionCount(); console.log('Transaction count:', count); // Get transaction count with analysis async function getTransactionCountWithAnalysis( config: { commitment?: string } ) { const count = await connection.getTransactionCount(config); return { count, analysis: { timestamp: Date.now(), commitment: config.commitment } }; }
interface TransactionCountAnalysis { count: number; metrics: { timestamp: number; commitment?: string; }; } class TransactionCountAnalyzer { async analyzeTransactionCount( config: { commitment?: string } ): Promise<TransactionCountAnalysis> { const count = await connection.getTransactionCount(config); return { count, metrics: { timestamp: Date.now(), commitment: config.commitment } }; } }
interface TransactionCountChange { changes: { previousCount: number; currentCount: number; difference: number; percentageChange: number; }; metadata: { timestamp: number; }; } class TransactionCountMonitor { private previousCount: number | null = null; async monitorTransactionCount( config: { commitment?: string } ): Promise<TransactionCountChange | null> { const currentCount = await connection.getTransactionCount(config); if (this.previousCount !== null && this.previousCount !== currentCount) { const difference = currentCount - this.previousCount; const percentageChange = (difference / this.previousCount) * 100; this.previousCount = currentCount; return { changes: { previousCount: this.previousCount, currentCount, difference, percentageChange }, metadata: { timestamp: Date.now() } }; } this.previousCount = currentCount; return null; } }
interface TransactionCountPlan { currentCount: number; recommendations: Array<{ type: 'scale' | 'optimize' | 'monitor'; reason: string; }>; metadata: { timestamp: number; }; } class TransactionCountPlanner { private readonly maxTransactionsPerSecond = 1000; private readonly minTransactionsPerSecond = 100; async planTransactionCount( config: { commitment?: string } ): Promise<TransactionCountPlan> { const currentCount = await connection.getTransactionCount(config); const recommendations: Array<{ type: 'scale' | 'optimize' | 'monitor'; reason: string; }> = []; // Check for high transaction rate if (currentCount > this.maxTransactionsPerSecond) { recommendations.push({ type: 'scale', reason: `Transaction count (${currentCount}) exceeds maximum (${this.maxTransactionsPerSecond})` }); } // Check for low transaction rate if (currentCount < this.minTransactionsPerSecond) { recommendations.push({ type: 'optimize', reason: `Transaction count (${currentCount}) below minimum (${this.minTransactionsPerSecond})` }); } return { currentCount, recommendations, metadata: { timestamp: Date.now() } }; } }