-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
executable file
·71 lines (57 loc) · 1.52 KB
/
script.js
File metadata and controls
executable file
·71 lines (57 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#!/usr/bin/env node
const ArgumentParser = require('argparse').ArgumentParser
const generator = require('./src/index')
const chalk = require('chalk')
const btc = require('./src/btc')
const eos = require('./src/eos')
const { log } = console
const providers = [btc, eos]
var parser = new ArgumentParser({
version: '0.0.1',
addHelp:true,
description: 'Key generator'
});
parser.addArgument(
[ '-e', '--entropy' ],
{
help: 'set entropy to generate'
}
);
parser.addArgument(
[ '-m', '--mnemonic' ],
{
help: 'set mnemonic phrase'
}
);
function init(args) {
if (args.mnemonic) return byMnemonic(args.mnemonic)
return byEntropy(args.entropy)
}
function byEntropy(en) {
try {
const mnemonic = generator.generateMnemonic(args.entropy)
log(chalk`Mnemonic: {green ${mnemonic}}`)
const seed = generator.seedFromMnemonic(mnemonic)
log(chalk`Seed: {green ${seed.toString('hex')}}`)
providers.forEach(pr => { log(); pr(seed)})
} catch (e) {
log(chalk`Something wrong: {red ${e}}`)
}
}
function byMnemonic(mnemonic) {
try {
const isValid = generator.validateMnemonic(mnemonic)
log(chalk`Mnemonic: {green ${mnemonic}}`)
if (isValid) {
const seed = generator.seedFromMnemonic(mnemonic)
log(chalk`Seed: {green ${seed.toString('hex')}}`)
providers.forEach(pr => { log(); pr(seed)})
} else {
log(chalk`{red Not Valid Mnemonic}`)
}
} catch (e) {
log(chalk`Something wrong: {red ${e}}`)
}
}
var args = parser.parseArgs()
init(args)