Merge pull request #23 from cubedro/develop

POC9 update
This commit is contained in:
Marian OANCΞA 2015-03-22 23:10:26 +02:00
commit cf498f7604
1 changed files with 26 additions and 28 deletions

View File

@ -8,6 +8,13 @@ var Primus = require('primus'),
Latency = require('primus-spark-latency'),
Socket;
var ETH_VERSION,
NET_VERSION,
API_VERSION;
var INSTANCE_NAME = process.env.INSTANCE_NAME;
web3.setProvider(new web3.providers.HttpProvider('http://' + (process.env.RPC_HOST || 'localhost') + ':' + (process.env.RPC_PORT || '8080')));
Socket = Primus.createSocket({
transformer: 'websockets',
pathname: '/api',
@ -15,17 +22,9 @@ Socket = Primus.createSocket({
plugin: {emitter: Emitter, sparkLatency: Latency}
});
var INSTANCE_NAME = process.env.INSTANCE_NAME;
var ETH_VERSION = "unknown";
if(process.env.NODE_ENV === 'production')
if(process.env.NODE_ENV === 'production' && INSTANCE_NAME === "")
{
if(process.env.INSTANCE_NAME === "")
{
INSTANCE_NAME = shelljs.exec('ec2metadata --instance-id', {silent: true}).output;
}
// ETH_VERSION = shelljs.exec((process.env.ETH_IMPLEMENTATION === 'go' ? 'ethereum version' : 'eth -V'), {silent: true}).output;
INSTANCE_NAME = shelljs.exec('ec2metadata --instance-id', {silent: true}).output;
}
var socket = new Socket(process.env.WS_SERVER || 'ws://localhost:3000');
@ -37,13 +36,20 @@ function Node()
{
var self = this;
web3.setProvider(new web3.providers.HttpProvider('http://' + (process.env.RPC_HOST || 'localhost') + ':' + (process.env.RPC_PORT || '8080')));
ETH_VERSION = web3.version;
try {
ETH_VERSION = web3.version.client;
NET_VERSION = web3.version.network;
API_VERSION = web3.version.api;
}
catch (err) {
console.log("couldn't get Version");
}
this.info = {
name: INSTANCE_NAME || (process.env.EC2_INSTANCE_ID || os.hostname()),
node: 'unknown',
node: ETH_VERSION,
net: NET_VERSION,
api: API_VERSION,
os: os.platform(),
os_v: os.release()
};
@ -167,24 +173,13 @@ Node.prototype.getBlock = function(number)
}
try {
block = web3.eth.getBlock(number);
block = web3.eth.getBlock(number, true);
block.arrival = Date.now();
block.propagation = block.arrival - (block.timestamp * 1000);
if(block.hash != '?' && typeof block.difficulty !== 'undefined')
{
block.difficulty = web3.toDecimal(block.difficulty);
try {
block.txCount = web3.eth.getBlockTransactionCount(block.hash) || '?';
}
catch (err) {
this.stats.errors.push({
code: '4',
msg: err
});
console.log(err);
}
}
}
catch (err) {
@ -272,7 +267,7 @@ Node.prototype.txDensityChart = function()
{
return txDensity = _.map(this.blocks, function(block)
{
return block.txCount;
return block.transactions.length;
});
}
@ -295,7 +290,7 @@ Node.prototype.getStats = function()
this.getLatestBlocks();
this.stats.mining = web3.eth.mining;
this.stats.gasPrice = web3.toDecimal(web3.eth.gasPrice);
this.stats.gasPrice = web3.eth.gasPrice.toString(10);
this.stats.listening = web3.net.listening;
}
@ -346,6 +341,7 @@ Node.prototype.setWatches = function()
this.pendingWatch = web3.eth.filter('pending');
this.pendingWatch.watch( function(log) {
console.log(log);
// console.log(self.pendingWatch.get());
// console.log('pending changed');
// self.stats.pending = parseInt(log.number);
});
@ -384,6 +380,8 @@ Node.prototype.stop = function()
if(this._socket)
socket.end();
web3.reset();
if(this.updateInterval)
clearInterval(this.updateInterval);