github.com/ethw3/go-ethereuma@v0.0.0-20221013053120-c14602a4c23c/params/version.go (about)

     1  // Copyright 2016 The go-ethereum Authors
     2  // This file is part of the go-ethereum library.
     3  //
     4  // The go-ethereum library is free software: you can redistribute it and/or modify
     5  // it under the terms of the GNU Lesser General Public License as published by
     6  // the Free Software Foundation, either version 3 of the License, or
     7  // (at your option) any later version.
     8  //
     9  // The go-ethereum library is distributed in the hope that it will be useful,
    10  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    11  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    12  // GNU Lesser General Public License for more details.
    13  //
    14  // You should have received a copy of the GNU Lesser General Public License
    15  // along with the go-ethereum library. If not, see <http://www.gnu.org/licenses/>.
    16  
    17  package params
    18  
    19  import (
    20  	"fmt"
    21  )
    22  
    23  const (
    24  	VersionMajor = 1          // Major version component of the current release
    25  	VersionMinor = 10         // Minor version component of the current release
    26  	VersionPatch = 23         // Patch version component of the current release
    27  	VersionMeta  = "stable" // Version metadata to append to the version string
    28  )
    29  
    30  // Version holds the textual version string.
    31  var Version = func() string {
    32  	return fmt.Sprintf("%d.%d.%d", VersionMajor, VersionMinor, VersionPatch)
    33  }()
    34  
    35  // VersionWithMeta holds the textual version string including the metadata.
    36  var VersionWithMeta = func() string {
    37  	v := Version
    38  	if VersionMeta != "" {
    39  		v += "-" + VersionMeta
    40  	}
    41  	return v
    42  }()
    43  
    44  // ArchiveVersion holds the textual version string used for Geth archives.
    45  // e.g. "1.8.11-dea1ce05" for stable releases, or
    46  //
    47  //	"1.8.13-unstable-21c059b6" for unstable releases
    48  func ArchiveVersion(gitCommit string) string {
    49  	vsn := Version
    50  	if VersionMeta != "stable" {
    51  		vsn += "-" + VersionMeta
    52  	}
    53  	if len(gitCommit) >= 8 {
    54  		vsn += "-" + gitCommit[:8]
    55  	}
    56  	return vsn
    57  }
    58  
    59  func VersionWithCommit(gitCommit, gitDate string) string {
    60  	vsn := VersionWithMeta
    61  	if len(gitCommit) >= 8 {
    62  		vsn += "-" + gitCommit[:8]
    63  	}
    64  	if (VersionMeta != "stable") && (gitDate != "") {
    65  		vsn += "-" + gitDate
    66  	}
    67  	return vsn
    68  }