diff --git a/lib/cmds/blockchain/blockchain.js b/lib/cmds/blockchain/blockchain.js index 2689ac47..8e07a7a7 100644 --- a/lib/cmds/blockchain/blockchain.js +++ b/lib/cmds/blockchain/blockchain.js @@ -221,6 +221,7 @@ Blockchain.prototype.isClientInstalled = function(callback) { Blockchain.prototype.initChainAndGetAddress = function(callback) { const self = this; let address = null; + const ALREADY_INITIALIZED = 'already'; // ensure datadir exists, bypassing the interactive liabilities prompt. self.datadir = '.embark/' + self.env + '/datadir'; @@ -236,14 +237,14 @@ Blockchain.prototype.initChainAndGetAddress = function(callback) { fs.copy(fs.embarkPath("js"), ".embark/" + self.env + "/js", {overwrite: true}, next); }, function listAccounts(next) { - self.runCommand(self.client.listAccountsCommand(), {}, (err, stdout, stderr) => { - if (err || stderr || stdout === undefined || stdout.match(/{(\w+)}/) === null || stdout.indexOf("Fatal") >= 0) { + self.runCommand(self.client.listAccountsCommand(), {}, (err, stdout, _stderr) => { + if (err || stdout === undefined || stdout.match(/{(\w+)}/) === null || stdout.indexOf("Fatal") >= 0) { console.log(__("no accounts found").green); return next(); } console.log(__("already initialized").green); address = stdout.match(/{(\w+)}/)[1]; - next(); + next(ALREADY_INITIALIZED); }); }, function genesisBlock(next) { @@ -265,6 +266,9 @@ Blockchain.prototype.initChainAndGetAddress = function(callback) { }); } ], (err) => { + if (err === ALREADY_INITIALIZED) { + err = null; + } callback(err, address); }); };