-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathutils.go
36 lines (30 loc) · 992 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
package kowalad
import (
"github.com/kowala-tech/kcoin/core"
"github.com/kowala-tech/kcoin/log"
"github.com/kowala-tech/kcoin/p2p/discover"
"github.com/kowala-tech/kcoin/params"
)
var (
mapNetworkIDToGenesis = map[uint64]*core.Genesis{
params.MainnetChainConfig.ChainID.Uint64(): core.DefaultGenesisBlock(),
params.TestnetChainConfig.ChainID.Uint64(): core.DefaultTestnetGenesisBlock(),
}
mapNetworkIDToBootNodes = map[uint64][]string{
params.MainnetChainConfig.ChainID.Uint64(): params.MainnetBootnodes,
params.TestnetChainConfig.ChainID.Uint64(): params.TestnetBootnodes,
}
)
func getBootstrapNodesfromNetworkID(networkID uint64) []*discover.Node {
urls := mapNetworkIDToBootNodes[networkID]
bootNodes := make([]*discover.Node, 0, len(urls))
for _, url := range urls {
node, err := discover.ParseNode(url)
if err != nil {
log.Error("Bootstrap URL invalid", "url", url, "err", err)
continue
}
bootNodes = append(bootNodes, node)
}
return bootNodes
}