UNPKG

@wavesenterprise/generator-cli

Version:

Waves Enterprise transactions generator CLI

57 lines (51 loc) 1.52 kB
#!/usr/bin/env node import * as fs from "fs"; const chalk = require('chalk'); // const clear = require('clear'); const figlet = require('figlet'); const path = require('path'); const program = require('commander'); import { Generator } from "./generator"; import { parseConfig } from "./configParser"; import { IConfig } from "./interfaces"; // clear(); console.log( chalk.green( figlet.textSync('tx generator', { horizontalLayout: 'full' }) ) ); program .version('0.2.0') .description("Waves enterprise transactions generator") .option('-c, --configPath <type>', 'Config file path') .option('-o, --output <type>', 'Output directory', 'output') .option('-broadcast, --broadcast', 'Broadcast', false) .option('-concurrency, --concurrency <type>', 'Concurrency', null) .parse(process.argv); const options = program.opts() const { configPath, broadcast, concurrency } = options if (configPath) { if(fs.existsSync(configPath)) { const rawData = fs.readFileSync(configPath) let config: IConfig | null = null try { config = parseConfig(rawData.toString(), options) } catch (e) { console.log('Parse config error:', e.message) process.exit() } if (config) { const generator = new Generator(config) if (broadcast) { generator.broadcast({ concurrency: parseInt(concurrency) }) } else { generator.start() } } } else { console.log(`Cannot read config file: "${configPath}". Check -c option`) } } if (!process.argv.slice(2).length) { program.outputHelp(); }