/
utils.go
36 lines (30 loc) · 934 Bytes
/
utils.go
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
// Copyright 2021 ChainSafe Systems (ON)
// SPDX-License-Identifier: LGPL-3.0-only
package dot
import (
"encoding/binary"
"fmt"
"os"
"strings"
"github.com/cosmos/go-bip39"
)
// CreateJSONRawFile will generate a JSON genesis file with raw storage
func CreateJSONRawFile(bs *BuildSpec, fp string) {
data, err := bs.ToJSONRaw()
if err != nil {
logger.Errorf("failed to convert into raw json: %s", err)
os.Exit(1)
}
if err := os.WriteFile(fp, data, 0600); err != nil {
logger.Errorf("failed to write file: %s", err)
os.Exit(1)
}
}
// RandomNodeName generates a new random name if there is no name configured for the node
func RandomNodeName() string {
entropy, _ := bip39.NewEntropy(128)
randomNamesString, _ := bip39.NewMnemonic(entropy)
randomNames := strings.Split(randomNamesString, " ")
number := binary.BigEndian.Uint16(entropy)
return randomNames[0] + "-" + randomNames[1] + "-" + fmt.Sprint(number)
}