Skip to content

Commit

Permalink
update config
Browse files Browse the repository at this point in the history
  • Loading branch information
wanwiset25 committed Dec 19, 2023
1 parent b9e77c6 commit 34f152b
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 55 deletions.
15 changes: 8 additions & 7 deletions subnet/deployment-generator/script/config_gen.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,15 @@ 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),
ip_1: (process.env.MAIN_IP || ''),
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: {
Expand All @@ -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:{
Expand Down Expand Up @@ -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)
}
Expand Down
32 changes: 14 additions & 18 deletions subnet/deployment-generator/script/gen.js
Original file line number Diff line number Diff line change
Expand Up @@ -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<config.num_machines; i++){
num_per_machine[i] = Math.floor(config.num_subnet / config.num_machines)
Expand All @@ -33,13 +33,13 @@ for (let i=0; i<config.num_subnet%config.num_machines; i++) {
num_per_machine.reverse() //let first machines host services, put fewer subnets

//gen docker-compose
doc = {
let doc = {
'version': '3.7',
'services': {
}
}

start_num = 1
let start_num = 1
for (let i=1; i<=config.num_machines; i++){
var subnet_nodes = gen_compose.genSubnetNodes(machine_id=i, num=num_per_machine[i-1], start_num=start_num)
start_num+=num_per_machine[i-1]
Expand All @@ -50,11 +50,13 @@ for (let i=1; i<=config.num_machines; i++){
}

//gen subnets configs
subnet_services = gen_compose.genServices(machine_id=1)
let subnet_services = gen_compose.genServices(machine_id=1)
Object.entries(subnet_services).forEach(entry => {
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)
Expand All @@ -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)

Expand Down Expand Up @@ -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);
Expand All @@ -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);
Expand Down
49 changes: 19 additions & 30 deletions subnet/deployment-generator/script/gen_other.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ Object.freeze(config)
module.exports = {
genSubnetKeys,
genDeploymentJson,
genDeploymentJsonMac,
genCommands,
genGenesisInputFile,
};
Expand Down Expand Up @@ -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/'
Expand Down

0 comments on commit 34f152b

Please sign in to comment.