diff --git a/subnet/deployment-generator/script/config_gen.js b/subnet/deployment-generator/script/config_gen.js index b0a51ee..5c032c8 100644 --- a/subnet/deployment-generator/script/config_gen.js +++ b/subnet/deployment-generator/script/config_gen.js @@ -6,7 +6,7 @@ const { off } = require('process'); dotenv.config({ path: `${__dirname}/gen.env` }); // console.log(__dirname) -var config = { +let config = { deployment_path: (process.env.CONFIG_PATH || ''), num_machines: parseInt(process.env.NUM_MACHINE), num_subnet: parseInt(process.env.NUM_SUBNET), @@ -14,7 +14,7 @@ var config = { network_name: (process.env.NETWORK_NAME), network_id: parseInt(process.env.NETWORK_ID || Math.floor(Math.random() * (65536 - 1) + 1)), secret_string: (process.env.SERVICES_SECRET || crypto.randomBytes(10).toString('hex')), - relayer_mode: (process.env.RELAYER_MODE || 'full'), //full or lite + relayer_mode: (process.env.RELAYER_MODE || 'full'), //full or lite //in upgradable csc both are deployed docker_image_name: (process.env.IMAGE_NAME || 'xinfinorg/subnet-generator:latest'), operating_system: (process.env.OS || 'linux'), version: { @@ -24,7 +24,7 @@ var config = { relayer: (process.env.VERSION_RELAYER || 'v0.2.1'), stats: (process.env.VERSION_STATS || 'v0.1.8'), frontend: (process.env.VERSION_FRONTEND || 'v0.1.8'), - // csc: (process.env.VERSION_CSC || 'v0.1.1'), + csc: (process.env.VERSION_CSC || 'v0.1.1'), // zero: (process.env.VERSION_ZERO || 'v0.1.1') }, parentnet:{ @@ -92,15 +92,16 @@ function configSanityCheck(config){ process.exit(1) } - if (!(config.parentnet.network === 'devnet' || - config.parentnet.network === 'testnet' || - config.parentnet.network === 'mainnet' )){ - var official_urls = { + if (config.parentnet.network === 'devnet' || + config.parentnet.network === 'testnet' || + config.parentnet.network === 'mainnet' ){ + let official_urls = { 'devnet':'https://devnetstats.apothem.network/devnet' , 'testnet':'https://erpc.apothem.network/' , 'mainnet': 'https://devnetstats.apothem.network/mainnet' //confirm url } config.parentnet.url = official_urls[config.parentnet.network] + } else { console.log('PARENTNET must be devnet, testnet, or mainnet ') process.exit(1) } diff --git a/subnet/deployment-generator/script/gen.js b/subnet/deployment-generator/script/gen.js index 6a9d0bc..49e248d 100644 --- a/subnet/deployment-generator/script/gen.js +++ b/subnet/deployment-generator/script/gen.js @@ -19,9 +19,9 @@ Object.freeze(config) // const output_path = `${__dirname}/../generated/` -keys = gen_other.genSubnetKeys() +let keys = gen_other.genSubnetKeys() -var num_per_machine = Array(config.num_machines) +let num_per_machine = Array(config.num_machines) //integer division for (let i=0; i { const [key, value] = entry; doc['services'][key]=value }); +//checkpoint smartcontract deployment config +let deployment_json = gen_other.genDeploymentJson(keys) if (config.operating_system === 'mac'){ doc, ip_record = gen_compose.injectMacConfig(doc) @@ -63,30 +65,24 @@ if (config.operating_system === 'mac'){ for (let i=1; i<=config.num_subnet; i++){ subnetconf.push(gen_env.genSubnetConfigMac(i, keys, ip_record)) } - //checkpoint smartcontract deployment config - deployment_json = gen_other.genDeploymentJsonMac(keys, ip_record) - } else if(config.operating_system === 'linux'){ commonconf = gen_env.genServicesConfig() subnetconf=[] for (let i=1; i<=config.num_subnet; i++){ subnetconf.push(gen_env.genSubnetConfig(i, keys)) } - //checkpoint smartcontract deployment config - deployment_json = gen_other.genDeploymentJson(keys) - } else { console.log(`ERROR: unknown OS ${config.operating_system} not supported`) process.exit(1) } -compose_content = yaml.dump(doc,{}) -compose_conf = gen_compose.genComposeEnv() +let compose_content = yaml.dump(doc,{}) +let compose_conf = gen_compose.genComposeEnv() //deployment commands list -commands = gen_other.genCommands() -genesis_input = gen_other.genGenesisInputFile(config.network_name, config.network_id, config.num_subnet, keys) -genesis_input_file = yaml.dump(genesis_input, {}) +let commands = gen_other.genCommands() +let genesis_input = gen_other.genGenesisInputFile(config.network_name, config.network_id, config.num_subnet, keys) +let genesis_input_file = yaml.dump(genesis_input, {}) writeGenerated(config.generator.output_path) @@ -119,7 +115,7 @@ function writeGenerated(output_dir){ } }); - keys_json = JSON.stringify(keys, null, 2); + let keys_json = JSON.stringify(keys, null, 2); fs.writeFile(`${output_dir}/keys.json`, keys_json, (err) => { if (err) { console.error('Error writing key file:', err); @@ -143,7 +139,7 @@ function writeGenerated(output_dir){ } }); - deployment_json = JSON.stringify(deployment_json, null, 2); + let deployment_json = JSON.stringify(deployment_json, null, 2); fs.writeFile(`${output_dir}/deployment.config.json`, deployment_json, (err) => { if (err) { console.error('Error writing file:', err); diff --git a/subnet/deployment-generator/script/gen_other.js b/subnet/deployment-generator/script/gen_other.js index f4d56d5..196a91d 100644 --- a/subnet/deployment-generator/script/gen_other.js +++ b/subnet/deployment-generator/script/gen_other.js @@ -5,7 +5,6 @@ Object.freeze(config) module.exports = { genSubnetKeys, genDeploymentJson, - genDeploymentJsonMac, genCommands, genGenesisInputFile, }; @@ -40,46 +39,36 @@ function genSubnetKeys(){ } function genDeploymentJson(keys){ - num = Object.keys(keys).length-1; - validators = [] + let num = Object.keys(keys).length-1; + let validators = [] for (let i=1; i<= num; i++){ - key_name = `key${i}` - public_key = keys[key_name]['0x'] + let key_name = `key${i}` + let public_key = keys[key_name]['0x'] validators.push(public_key) } - deployment = { + let deployment = { "validators": validators, "gap": 450, "epoch": 900, - "xdcparentnet": "https://devnetstats.apothem.network/devnet", - // "xdcparentnet": "http://127.0.0.1:20302", - // "xdcsubnet": "http://127.0.0.1:8545" - "xdcsubnet": `http://${config.ip_1}:8545` } return deployment - } -function genDeploymentJsonMac(keys){ - num = Object.keys(keys).length-1; - validators = [] - for (let i=1; i<= num; i++){ - key_name = `key${i}` - public_key = keys[key_name]['0x'] - validators.push(public_key) - } - deployment = { - "validators": validators, - "gap": 450, - "epoch": 900, - "xdcparentnet": "https://devnetstats.apothem.network/devnet", - // "xdcparentnet": "http://127.0.0.1:20302", - "xdcsubnet": `http://127.0.0.1:8545` - } - return deployment - -} +// function genNetworkJson(){ //don't need this, config will overlap(duplicate) with other files, shell script in CSC docker can gen this +// let network = { +// "xdcsubnet": `http://${config.ip_1}:8545`, +// "xdcparentnet": config.parentnet.url +// } +// return network +// } +// function genNetworkJsonMac(){ +// let network = { +// "xdcsubnet": `http://127.0.0.1:8545`, +// "xdcparentnet": config.parentnet.url +// } +// return network +// } function genCommands(){ conf_path = __dirname+'/config/'