mirror of https://github.com/embarklabs/embark.git
pass isDev to engine so that it can show a warning
This commit is contained in:
parent
3f09d5d3f0
commit
7b1a219b51
|
@ -9,6 +9,7 @@ var Blockchain = function(options) {
|
||||||
this.blockchainConfig = options.blockchainConfig;
|
this.blockchainConfig = options.blockchainConfig;
|
||||||
this.env = options.env || 'development';
|
this.env = options.env || 'development';
|
||||||
this.client = options.client;
|
this.client = options.client;
|
||||||
|
this.isDev = options.isDev;
|
||||||
|
|
||||||
if ((this.blockchainConfig === {} || JSON.stringify(this.blockchainConfig) === '{"enabled":true}') && this.env !== 'development') {
|
if ((this.blockchainConfig === {} || JSON.stringify(this.blockchainConfig) === '{"enabled":true}') && this.env !== 'development') {
|
||||||
console.log("===> " + __("warning: running default config on a non-development environment"));
|
console.log("===> " + __("warning: running default config on a non-development environment"));
|
||||||
|
@ -50,21 +51,13 @@ var Blockchain = function(options) {
|
||||||
this.config.datadir = fs.embarkPath(".embark/development/datadir");
|
this.config.datadir = fs.embarkPath(".embark/development/datadir");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (this.blockchainConfig.isDev) {
|
|
||||||
this.isDev = true;
|
|
||||||
} else if (this.blockchainConfig.isDev === false) {
|
|
||||||
this.isDev = false;
|
|
||||||
} else {
|
|
||||||
this.isDev = this.env === 'development';
|
|
||||||
}
|
|
||||||
|
|
||||||
this.client = new options.client({config: this.config, env: this.env, isDev: this.isDev});
|
this.client = new options.client({config: this.config, env: this.env, isDev: this.isDev});
|
||||||
};
|
};
|
||||||
|
|
||||||
Blockchain.prototype.runCommand = function(cmd, options) {
|
Blockchain.prototype.runCommand = function(cmd, options) {
|
||||||
console.log(__("running: %s", cmd.underline).green);
|
console.log(__("running: %s", cmd.underline).green);
|
||||||
return shelljs.exec(cmd, options, (err, stdout, _stderr) => {
|
return shelljs.exec(cmd, options, (err, stdout, _stderr) => {
|
||||||
if (err && this.env === 'development' && stdout.indexOf('Failed to unlock developer account') > 0) {
|
if (err && this.env === 'development' && stdout.indexOf('Failed to unlock') > 0) {
|
||||||
console.warn('\n' + __('Development blockchain has changed to use the --dev option.').yellow);
|
console.warn('\n' + __('Development blockchain has changed to use the --dev option.').yellow);
|
||||||
console.warn(__('You can reset your workspace to fix the problem with').yellow + ' embark reset'.cyan);
|
console.warn(__('You can reset your workspace to fix the problem with').yellow + ' embark reset'.cyan);
|
||||||
console.warn(__('Otherwise, you can change your data directory in blockchain.json (datadir)').yellow);
|
console.warn(__('Otherwise, you can change your data directory in blockchain.json (datadir)').yellow);
|
||||||
|
@ -131,9 +124,9 @@ Blockchain.prototype.initChainAndGetAddress = function() {
|
||||||
return address;
|
return address;
|
||||||
};
|
};
|
||||||
|
|
||||||
var BlockchainClient = function(blockchainConfig, client, env) {
|
var BlockchainClient = function(blockchainConfig, client, env, isDev) {
|
||||||
if (client === 'geth') {
|
if (client === 'geth') {
|
||||||
return new Blockchain({blockchainConfig: blockchainConfig, client: GethCommands, env: env});
|
return new Blockchain({blockchainConfig: blockchainConfig, client: GethCommands, env: env, isDev});
|
||||||
} else {
|
} else {
|
||||||
throw new Error('unknown client');
|
throw new Error('unknown client');
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ const Provider = require('./provider');
|
||||||
class Engine {
|
class Engine {
|
||||||
constructor(options) {
|
constructor(options) {
|
||||||
this.env = options.env;
|
this.env = options.env;
|
||||||
|
this.isDev = options.isDev;
|
||||||
this.embarkConfig = options.embarkConfig;
|
this.embarkConfig = options.embarkConfig;
|
||||||
this.interceptLogs = options.interceptLogs;
|
this.interceptLogs = options.interceptLogs;
|
||||||
this.version = options.version;
|
this.version = options.version;
|
||||||
|
@ -277,6 +278,7 @@ class Engine {
|
||||||
web3: this.web3,
|
web3: this.web3,
|
||||||
accountsConfig: this.config.contractsConfig.deployment.accounts,
|
accountsConfig: this.config.contractsConfig.deployment.accounts,
|
||||||
logger: this.logger,
|
logger: this.logger,
|
||||||
|
isDev: this.isDev,
|
||||||
web3Endpoint
|
web3Endpoint
|
||||||
};
|
};
|
||||||
this.web3.setProvider(new Provider(providerOptions));
|
this.web3.setProvider(new Provider(providerOptions));
|
||||||
|
|
|
@ -10,6 +10,7 @@ class Provider {
|
||||||
this.web3 = options.web3;
|
this.web3 = options.web3;
|
||||||
this.accountsConfig = options.accountsConfig;
|
this.accountsConfig = options.accountsConfig;
|
||||||
this.logger = options.logger;
|
this.logger = options.logger;
|
||||||
|
this.isDev = options.isDev;
|
||||||
this.engine = new ProviderEngine();
|
this.engine = new ProviderEngine();
|
||||||
this.asyncMethods = {};
|
this.asyncMethods = {};
|
||||||
|
|
||||||
|
@ -43,6 +44,9 @@ class Provider {
|
||||||
this.asyncMethods = {
|
this.asyncMethods = {
|
||||||
eth_accounts: self.eth_accounts.bind(this)
|
eth_accounts: self.eth_accounts.bind(this)
|
||||||
};
|
};
|
||||||
|
if (this.isDev) {
|
||||||
|
this.logger.warn('You are using your own account in the develop environment. It might not be funded.');
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -88,5 +88,9 @@
|
||||||
"deployed at": "deployed at",
|
"deployed at": "deployed at",
|
||||||
"executing onDeploy commands": "executing onDeploy commands",
|
"executing onDeploy commands": "executing onDeploy commands",
|
||||||
"executing: ": "executing: ",
|
"executing: ": "executing: ",
|
||||||
"no config file found at %s using default config": "no config file found at %s using default config"
|
"no config file found at %s using default config": "no config file found at %s using default config",
|
||||||
|
"Development blockchain has changed to use the --dev option.": "Development blockchain has changed to use the --dev option.",
|
||||||
|
"You can reset your workspace to fix the problem with": "You can reset your workspace to fix the problem with",
|
||||||
|
"Otherwise, you can change your data directory in blockchain.json (datadir)": "Otherwise, you can change your data directory in blockchain.json (datadir)",
|
||||||
|
"tip: you can resize the terminal or disable the dashboard with": "tip: you can resize the terminal or disable the dashboard with"
|
||||||
}
|
}
|
15
lib/index.js
15
lib/index.js
|
@ -38,6 +38,15 @@ class Embark {
|
||||||
this.plugins = this.config.plugins;
|
this.plugins = this.config.plugins;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isDev(env) {
|
||||||
|
if (this.config && this.config.blockchainConfig && this.config.blockchainConfig.isDev) {
|
||||||
|
return true;
|
||||||
|
} else if (this.config && this.config.blockchainConfig && this.config.blockchainConfig.isDev === false) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
return (env === 'development');
|
||||||
|
}
|
||||||
|
|
||||||
blockchain(env, client) {
|
blockchain(env, client) {
|
||||||
this.context = [constants.contexts.blockchain];
|
this.context = [constants.contexts.blockchain];
|
||||||
let blockchainConfig = this.config.blockchainConfig;
|
let blockchainConfig = this.config.blockchainConfig;
|
||||||
|
@ -52,7 +61,7 @@ class Embark {
|
||||||
if(webServerConfig) blockchainConfig.wsOrigins = `http://${webServerConfig.host}:${webServerConfig.port}`;
|
if(webServerConfig) blockchainConfig.wsOrigins = `http://${webServerConfig.host}:${webServerConfig.port}`;
|
||||||
if(storageConfig) blockchainConfig.wsOrigins += `${blockchainConfig.wsOrigins.length ? ',' : ''}${storageConfig.protocol}://${storageConfig.host}:${storageConfig.port}`;
|
if(storageConfig) blockchainConfig.wsOrigins += `${blockchainConfig.wsOrigins.length ? ',' : ''}${storageConfig.protocol}://${storageConfig.host}:${storageConfig.port}`;
|
||||||
}
|
}
|
||||||
return require('./cmds/blockchain/blockchain.js')(blockchainConfig, client, env).run();
|
return require('./cmds/blockchain/blockchain.js')(blockchainConfig, client, env, this.isDev(env)).run();
|
||||||
}
|
}
|
||||||
|
|
||||||
simulator(options) {
|
simulator(options) {
|
||||||
|
@ -77,6 +86,7 @@ class Embark {
|
||||||
|
|
||||||
let engine = new Engine({
|
let engine = new Engine({
|
||||||
env: options.env,
|
env: options.env,
|
||||||
|
isDev: this.isDev(options.env),
|
||||||
version: this.version,
|
version: this.version,
|
||||||
embarkConfig: options.embarkConfig || 'embark.json',
|
embarkConfig: options.embarkConfig || 'embark.json',
|
||||||
logFile: options.logFile,
|
logFile: options.logFile,
|
||||||
|
@ -169,6 +179,7 @@ class Embark {
|
||||||
|
|
||||||
let engine = new Engine({
|
let engine = new Engine({
|
||||||
env: options.env,
|
env: options.env,
|
||||||
|
isDev: this.isDev(options.env),
|
||||||
version: this.version,
|
version: this.version,
|
||||||
embarkConfig: 'embark.json',
|
embarkConfig: 'embark.json',
|
||||||
interceptLogs: false,
|
interceptLogs: false,
|
||||||
|
@ -228,6 +239,7 @@ class Embark {
|
||||||
|
|
||||||
let engine = new Engine({
|
let engine = new Engine({
|
||||||
env: options.env,
|
env: options.env,
|
||||||
|
isDev: this.isDev(options.env),
|
||||||
version: this.version,
|
version: this.version,
|
||||||
embarkConfig: options.embarkConfig || 'embark.json',
|
embarkConfig: options.embarkConfig || 'embark.json',
|
||||||
logFile: options.logFile,
|
logFile: options.logFile,
|
||||||
|
@ -282,6 +294,7 @@ class Embark {
|
||||||
|
|
||||||
let engine = new Engine({
|
let engine = new Engine({
|
||||||
env: options.env,
|
env: options.env,
|
||||||
|
isDev: this.isDev(options.env),
|
||||||
version: this.version,
|
version: this.version,
|
||||||
embarkConfig: 'embark.json',
|
embarkConfig: 'embark.json',
|
||||||
interceptLogs: false,
|
interceptLogs: false,
|
||||||
|
|
Loading…
Reference in New Issue