mirror of https://github.com/embarklabs/embark.git
make cmd call async
This commit is contained in:
parent
7597480bc4
commit
fe30f4b040
|
@ -41,14 +41,16 @@ Blockchain.prototype.runCommand = function(cmd) {
|
||||||
};
|
};
|
||||||
|
|
||||||
Blockchain.prototype.run = function() {
|
Blockchain.prototype.run = function() {
|
||||||
|
var self = this;
|
||||||
console.log("===============================================================================".magenta);
|
console.log("===============================================================================".magenta);
|
||||||
console.log("===============================================================================".magenta);
|
console.log("===============================================================================".magenta);
|
||||||
console.log(("Embark Blockchain Using: " + this.client.name.underline).magenta);
|
console.log(("Embark Blockchain Using: " + this.client.name.underline).magenta);
|
||||||
console.log("===============================================================================".magenta);
|
console.log("===============================================================================".magenta);
|
||||||
console.log("===============================================================================".magenta);
|
console.log("===============================================================================".magenta);
|
||||||
var address = this.initChainAndGetAddress();
|
var address = this.initChainAndGetAddress();
|
||||||
var mainCommand = this.client.mainCommand(address);
|
this.client.mainCommand(address, function(cmd) {
|
||||||
this.runCommand(mainCommand);
|
self.runCommand(cmd);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
Blockchain.prototype.initChainAndGetAddress = function() {
|
Blockchain.prototype.initChainAndGetAddress = function() {
|
||||||
|
|
|
@ -1,3 +1,4 @@
|
||||||
|
var async = require('async');
|
||||||
|
|
||||||
// TODO: make all of this async
|
// TODO: make all of this async
|
||||||
var GethCommands = function(options) {
|
var GethCommands = function(options) {
|
||||||
|
@ -86,50 +87,74 @@ GethCommands.prototype.determineRpcOptions = function(config) {
|
||||||
return cmd;
|
return cmd;
|
||||||
};
|
};
|
||||||
|
|
||||||
GethCommands.prototype.mainCommand = function(address) {
|
GethCommands.prototype.mainCommand = function(address, done) {
|
||||||
|
var self = this;
|
||||||
var config = this.config;
|
var config = this.config;
|
||||||
var cmd = this.geth_bin + " ";
|
|
||||||
var rpc_api = (this.config.rpcApi || ['eth', 'web3', 'net']);
|
var rpc_api = (this.config.rpcApi || ['eth', 'web3', 'net']);
|
||||||
|
|
||||||
cmd += this.commonOptions();
|
async.series([
|
||||||
|
function commonOptions(callback) {
|
||||||
cmd += this.determineRpcOptions(this.config);
|
var cmd = self.commonOptions();
|
||||||
|
callback(null, cmd);
|
||||||
|
},
|
||||||
|
function rpcOptions(callback) {
|
||||||
|
var cmd = self.determineRpcOptions(self.config);
|
||||||
|
callback(null, cmd);
|
||||||
|
},
|
||||||
|
function dontGetPeers(callback) {
|
||||||
if (config.nodiscover) {
|
if (config.nodiscover) {
|
||||||
cmd += "--nodiscover ";
|
return callback(null, "--nodiscover");
|
||||||
}
|
}
|
||||||
|
callback(null, "");
|
||||||
|
},
|
||||||
|
function vmDebug(callback) {
|
||||||
if (config.vmdebug) {
|
if (config.vmdebug) {
|
||||||
cmd += "--vmdebug ";
|
return callback(null, "--vmdebug");
|
||||||
}
|
}
|
||||||
|
callback(null, "");
|
||||||
cmd += "--maxpeers " + config.maxpeers + " ";
|
},
|
||||||
|
function maxPeers(callback) {
|
||||||
|
var cmd = "--maxpeers " + config.maxpeers;
|
||||||
|
callback(null, cmd);
|
||||||
|
},
|
||||||
|
function mining(callback) {
|
||||||
if (config.mineWhenNeeded || config.mine) {
|
if (config.mineWhenNeeded || config.mine) {
|
||||||
cmd += "--mine ";
|
return callback(null, "--mine ");
|
||||||
}
|
}
|
||||||
|
callback("");
|
||||||
|
},
|
||||||
|
function bootnodes(callback) {
|
||||||
if (config.bootnodes && config.bootnodes !== "" && config.bootnodes !== []) {
|
if (config.bootnodes && config.bootnodes !== "" && config.bootnodes !== []) {
|
||||||
cmd += "--bootnodes " + config.bootnodes;
|
return callback(null, "--bootnodes " + config.bootnodes);
|
||||||
}
|
}
|
||||||
|
callback("");
|
||||||
|
},
|
||||||
|
function whisper(callback) {
|
||||||
if (config.whisper) {
|
if (config.whisper) {
|
||||||
cmd += "--shh ";
|
|
||||||
rpc_api.push('shh');
|
rpc_api.push('shh');
|
||||||
|
return callback(null, "--shh ");
|
||||||
}
|
}
|
||||||
|
callback("");
|
||||||
cmd += '--rpcapi "' + rpc_api.join(',') + '" ';
|
},
|
||||||
|
function rpcApi(callback) {
|
||||||
|
callback(null, '--rpcapi "' + rpc_api.join(',') + '"');
|
||||||
|
},
|
||||||
|
function accountToUnlock(callback) {
|
||||||
var accountAddress = config.account.address || address;
|
var accountAddress = config.account.address || address;
|
||||||
if (accountAddress) {
|
if (accountAddress) {
|
||||||
cmd += "--unlock=" + accountAddress + " ";
|
return callback(null, "--unlock=" + accountAddress);
|
||||||
}
|
}
|
||||||
|
callback(null, "");
|
||||||
|
},
|
||||||
|
function mineWhenNeeded(callback) {
|
||||||
if (config.mineWhenNeeded) {
|
if (config.mineWhenNeeded) {
|
||||||
cmd += "js .embark/" + this.env + "/js/mine.js";
|
return callback(null, "js .embark/" + self.env + "/js/mine.js");
|
||||||
}
|
}
|
||||||
|
callback(null, "");
|
||||||
return cmd;
|
}
|
||||||
|
], function(err, results) {
|
||||||
|
done(self.geth_bin + " " + results.join(" "));
|
||||||
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
module.exports = GethCommands;
|
module.exports = GethCommands;
|
||||||
|
|
Loading…
Reference in New Issue