2015-06-09 08:22:18 -04:00
|
|
|
var hashmerge = require('hashmerge');
|
|
|
|
var readYaml = require('read-yaml');
|
|
|
|
var shelljs = require('shelljs');
|
|
|
|
var shelljs_global = require('shelljs/global');
|
|
|
|
var web3 = require('web3');
|
|
|
|
var commander = require('commander');
|
|
|
|
var wrench = require('wrench');
|
2015-06-15 06:07:40 -04:00
|
|
|
var python = require('python');
|
|
|
|
var syncMe = require('sync-me');
|
|
|
|
var methodmissing = require('methodmissing');
|
|
|
|
var jasmine = require('jasmine');
|
|
|
|
|
2015-10-08 15:30:47 -04:00
|
|
|
//var Tests = require('./test.js');
|
2015-07-03 07:59:35 -04:00
|
|
|
var Blockchain = require('./blockchain.js');
|
|
|
|
var Deploy = require('./deploy.js');
|
|
|
|
var Release = require('./ipfs.js');
|
|
|
|
var Config = require('./config/config.js');
|
2015-07-04 16:52:05 -04:00
|
|
|
var Compiler = require('./compiler.js');
|
2015-08-04 08:18:04 -04:00
|
|
|
var ChainManager = require('./chain_manager.js');
|
2015-06-13 09:02:19 -04:00
|
|
|
|
2015-07-03 07:59:35 -04:00
|
|
|
Embark = {
|
|
|
|
init: function() {
|
2015-07-03 22:27:17 -04:00
|
|
|
this.blockchainConfig = (new Config.Blockchain());
|
2015-07-04 16:52:05 -04:00
|
|
|
this.compiler = (new Compiler(this.blockchainConfig));
|
2015-07-03 23:23:21 -04:00
|
|
|
this.contractsConfig = (new Config.Contracts(this.blockchainConfig, this.compiler));
|
2015-08-03 21:54:39 -04:00
|
|
|
this.chainManager = (new ChainManager());
|
2015-07-03 22:27:17 -04:00
|
|
|
},
|
|
|
|
|
2015-10-08 15:30:47 -04:00
|
|
|
//tests: function() {
|
|
|
|
// return new Tests();
|
|
|
|
//},
|
2015-07-03 22:27:17 -04:00
|
|
|
|
2015-07-12 21:33:36 -04:00
|
|
|
startBlockchain: function(env, use_tmp) {
|
2015-07-03 22:27:17 -04:00
|
|
|
var chain = new Blockchain(this.blockchainConfig.config(env));
|
2015-07-12 21:33:36 -04:00
|
|
|
chain.startChain(use_tmp);
|
2015-07-03 22:27:17 -04:00
|
|
|
},
|
|
|
|
|
2015-09-03 18:36:25 +08:00
|
|
|
copyMinerJavascriptToTemp: function(){
|
|
|
|
//TODO: better with --exec, but need to fix console bug first
|
|
|
|
wrench.copyDirSyncRecursive(__dirname + "/../js", "/tmp/js", {forceDelete: true});
|
|
|
|
},
|
|
|
|
|
2015-08-31 00:48:38 +08:00
|
|
|
getStartBlockchainCommand: function(env, use_tmp) {
|
|
|
|
var chain = new Blockchain(this.blockchainConfig.config(env));
|
|
|
|
return chain.getStartChainCommand(use_tmp);
|
|
|
|
},
|
|
|
|
|
2015-10-08 15:30:47 -04:00
|
|
|
deployContracts: function(env, contractFiles, destFile, chainFile, cb) {
|
2015-08-01 11:19:21 -04:00
|
|
|
this.contractsConfig.init(contractFiles, env);
|
2015-08-03 21:54:39 -04:00
|
|
|
|
|
|
|
this.chainManager.loadConfigFile(chainFile)
|
|
|
|
var deploy = new Deploy(env, contractFiles, this.blockchainConfig.config(env), this.contractsConfig, this.chainManager);
|
2015-10-08 15:30:47 -04:00
|
|
|
deploy.deploy_contracts(env, function() {
|
|
|
|
console.log("contracts deployed; generating abi file");
|
|
|
|
var result = deploy.generate_abi_file();
|
|
|
|
cb(result);
|
|
|
|
});
|
2015-07-03 22:27:17 -04:00
|
|
|
},
|
|
|
|
|
2015-08-18 12:05:20 +02:00
|
|
|
geth: function(env, args) {
|
|
|
|
var chain = new Blockchain(this.blockchainConfig.config(env));
|
|
|
|
chain.execGeth(args);
|
|
|
|
},
|
|
|
|
|
2015-07-03 22:27:17 -04:00
|
|
|
release: Release
|
2015-07-03 07:59:35 -04:00
|
|
|
}
|
|
|
|
|
|
|
|
module.exports = Embark;
|