From c39ffac677f4abd7d46874b7beacbbdd7a495e2e Mon Sep 17 00:00:00 2001 From: LowEntropyBody Date: Tue, 1 Sep 2020 17:53:49 +0800 Subject: [PATCH] Support better chain name (#57) * Support better chain name * wait 15s for sworker * fix command error * check docker run success * split archive --- generator/config-gen/chain-config.gen.js | 27 +++++++++++++----------- generator/schema/chain.schema.js | 2 +- scripts/crust.sh | 12 ++++++++++- 3 files changed, 27 insertions(+), 14 deletions(-) diff --git a/generator/config-gen/chain-config.gen.js b/generator/config-gen/chain-config.gen.js index 4387dc5..aa25a29 100644 --- a/generator/config-gen/chain-config.gen.js +++ b/generator/config-gen/chain-config.gen.js @@ -12,31 +12,34 @@ async function genChainConfig(config, outputCfg) { async function genChainComposeConfig(config) { let args = [ - `--base-path ${config.chain.base_path}`, - '--chain maxwell', - `--port ${config.chain.port}`, - `--name ${config.chain.name}`, - `--rpc-port ${config.chain.rpc_port}`, - `--ws-port ${config.chain.ws_port}`, + './crust', + '--base-path', + `${config.chain.base_path}`, + '--chain', + 'maxwell', + '--port', + `${config.chain.port}`, + '--name', + `${config.chain.name}`, + '--rpc-port', + `${config.chain.rpc_port}`, + '--ws-port', + `${config.chain.ws_port}`, ] if (config.node.chain == "authority") { - args.push('--validator', '--pruning archive') + args.push('--validator', '--pruning', 'archive') } else if (config.node.chain == "light") { args.push('--light') } - args=args.join(' ') - return { image: 'crustio/crust:latest', network_mode: 'host', volumes: [ `${config.chain.base_path}:${config.chain.base_path}` ], - environment: { - ARGS: args, - }, + command: args, } } diff --git a/generator/schema/chain.schema.js b/generator/schema/chain.schema.js index bb78c46..d4202e3 100644 --- a/generator/schema/chain.schema.js +++ b/generator/schema/chain.schema.js @@ -3,7 +3,7 @@ const bluebird = require('bluebird') const chainSchema = Joi.object({ base_path: Joi.string().required(), - name: Joi.string().regex(/^[0-9a-zA-Z_]+$/).required(), + name: Joi.string().required(), port: Joi.number().port().default(30333), rpc_port: Joi.number().port().default(9933), ws_port: Joi.number().port().default(9944), diff --git a/scripts/crust.sh b/scripts/crust.sh index b9cd322..74c5cce 100755 --- a/scripts/crust.sh +++ b/scripts/crust.sh @@ -22,8 +22,18 @@ start() fi docker-compose -f $builddir/docker-compose.yaml up -d crust - sleep 20 + if [ $? -ne 0 ]; then + echo "Start crust chain failed" + exit 1 + fi + + sleep 15 + docker-compose -f $builddir/docker-compose.yaml up -d + if [ $? -ne 0 ]; then + echo "Start other modules failed" + exit 1 + fi } stop()