var bluebird = require('bluebird'); var Promise = bluebird.Promise; var Remote = require('ripple-lib').Remote; function measureThroughput() { return new Promise(function(resolve, reject) { var remote = new Remote({ servers: [ 'wss://s.altnet.rippletest.net:51233' ] }) var remoteConnect = Promise.promisify(remote.connect, remote); remoteConnect().then(function() { console.log('connected!') var remoteRequest = Promise.promisify(remote.request, remote); return remoteRequest('server_info').then(function(res) { console.log(res) remote.on('ledger_closed', function(ledger) { // Ignore empty ledgers if (last_ledger && ledger.ledger_time-last_ledger.ledger_time<20) { console.log('ledger:', ledger.ledger_index); console.log('txs:', ledger.txn_count); console.log('time:', ledger.ledger_time-last_ledger.ledger_time); console.log('ledger_time:', ledger.ledger_time); console.log('Last ledger: %d txs/second', ledger.txn_count/(ledger.ledger_time-last_ledger.ledger_time)); total_txs += ledger.txn_count; total_seconds += ledger.ledger_time-last_ledger.ledger_time; console.log('Total: %d txs/second', total_txs/total_seconds); } last_ledger = ledger; }); resolve(); }); }).catch(function(err) { console.log(err); }) }); } last_ledger = null; total_txs = 0; total_seconds = 0;