|
1 | 1 | import { Arguments } from 'yargs';
|
2 | 2 | import { callback, loadXudInitClient } from '../command';
|
3 | 3 | import { CreateNodeRequest } from '../../proto/xudrpc_pb';
|
| 4 | +import readline from 'readline'; |
4 | 5 |
|
5 |
| -export const command = 'create <password>'; |
| 6 | +export const command = 'create'; |
6 | 7 |
|
7 | 8 | export const describe = 'create an xud node';
|
8 | 9 |
|
9 |
| -export const builder = { |
10 |
| - password: { |
11 |
| - description: 'password to encrypt xud key and wallets', |
12 |
| - type: 'string', |
13 |
| - }, |
14 |
| -}; |
| 10 | +export const builder = {}; |
15 | 11 |
|
16 | 12 | export const handler = (argv: Arguments) => {
|
17 |
| - const request = new CreateNodeRequest(); |
18 |
| - request.setPassword(argv.password); |
19 |
| - loadXudInitClient(argv).createNode(request, callback(argv)); |
| 13 | + const rl = readline.createInterface({ |
| 14 | + input: process.stdin, |
| 15 | + terminal: true, |
| 16 | + }); |
| 17 | + |
| 18 | + process.stdout.write('Enter master xud password: '); |
| 19 | + rl.question('', (password1) => { |
| 20 | + process.stdout.write('\n'); |
| 21 | + process.stdout.write('Re-enter password: '); |
| 22 | + rl.question('', (password2) => { |
| 23 | + process.stdout.write('\n'); |
| 24 | + rl.close(); |
| 25 | + if (password1 === password2) { |
| 26 | + const request = new CreateNodeRequest(); |
| 27 | + request.setPassword(argv.password); |
| 28 | + loadXudInitClient(argv).createNode(request, callback(argv)); |
| 29 | + } else { |
| 30 | + console.log('Passwords do not match, please try again'); |
| 31 | + } |
| 32 | + }); |
| 33 | + }); |
20 | 34 | };
|
0 commit comments