forked from textileio/lotus-devnet
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
55 lines (44 loc) · 1.38 KB
/
main.go
File metadata and controls
55 lines (44 loc) · 1.38 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
package main
import (
"os"
"os/signal"
"syscall"
"time"
logging "github.com/ipfs/go-log/v2"
"github.com/spf13/pflag"
"github.com/spf13/viper"
"github.com/textileio/lotus-devnet/ldevnet"
)
var (
log = logging.Logger("devnet-main")
config = viper.New()
)
func main() {
err := logging.SetLogLevel("devnet-main", "INFO")
if err != nil {
panic(err)
}
pflag.Int("numminers", 1, "Number of miners in devnet")
pflag.Int("speed", ldevnet.DefaultDurationMs, "Chain speed block creation in ms")
pflag.Bool("bigsectors", true, "Use big sectors")
pflag.String("ipfsaddr", "", "IPFS multiaddr to make Lotus use an IPFS node")
pflag.Bool("onlinemode", false, "Use IPFS node in online mode")
pflag.Parse()
config.SetEnvPrefix("TEXLOTUSDEVNET")
config.AutomaticEnv()
config.BindPFlags(pflag.CommandLine)
speed := config.GetInt("speed")
numMiners := config.GetInt("numminers")
bigSectors := config.GetBool("bigsectors")
ipfsAddr := config.GetString("ipfsaddr")
onlineMode := config.GetBool("onlinemode")
log.Infof("Starting devnet with speed = %v, numminers = %v, bigsectors = %v, ipfsaddr = %v", speed, numMiners, bigSectors, ipfsAddr)
_, err = ldevnet.New(numMiners, time.Millisecond*time.Duration(speed), bigSectors, ipfsAddr, onlineMode)
if err != nil {
panic(err)
}
ch := make(chan os.Signal, 1)
signal.Notify(ch, os.Interrupt, syscall.SIGTERM)
<-ch
log.Info("Closing...")
}