diff --git a/main/params.go b/main/params.go index 95d4610..eef8e60 100644 --- a/main/params.go +++ b/main/params.go @@ -165,6 +165,9 @@ func init() { fs := flag.NewFlagSet("gecko", flag.ContinueOnError) + // If this is true, print the version and quit. + version := fs.Bool("version", false, "If true, print version and quit") + // NetworkID: networkName := fs.String("network-id", genesis.TestnetName, "Network ID this node will connect to") @@ -230,6 +233,11 @@ func init() { ferr := fs.Parse(os.Args[1:]) + if *version { // If --version used, print version and exit + fmt.Println(node.Version.String()) + os.Exit(0) + } + if ferr == flag.ErrHelp { // display usage/help text and exit successfully os.Exit(0) diff --git a/node/node.go b/node/node.go index 24e555b..b484e51 100644 --- a/node/node.go +++ b/node/node.go @@ -55,7 +55,8 @@ const ( var ( genesisHashKey = []byte("genesisID") - nodeVersion = version.NewDefaultVersion("avalanche", 0, 5, 2) + // Version is the version of this code + Version = version.NewDefaultVersion("avalanche", 0, 5, 2) versionParser = version.NewDefaultParser() ) @@ -156,7 +157,7 @@ func (n *Node) initNetworking() error { n.ID, n.Config.StakingIP, n.Config.NetworkID, - nodeVersion, + Version, versionParser, listener, dialer, @@ -528,6 +529,7 @@ func (n *Node) Initialize(Config *Config, logger logging.Logger, logFactory logg n.Log = logger n.LogFactory = logFactory n.Config = Config + n.Log.Info("Gecko version is: %s", Version) httpLog, err := logFactory.MakeSubdir("http") if err != nil {