Documentation ¶
Overview ¶
Package version implements Oasis protocol and runtime versioning.
Index ¶
Constants ¶
View Source
const VersionUndefined = "undefined"
VersionUndefined represents an undefined version.
Variables ¶
View Source
var ( // SoftwareVersion represents the Oasis Core's version and should be set // by the linker. SoftwareVersion = "0.0-unset" // GitBranch is the name of the git branch of Oasis Core. // // This is mostly used for reporting and metrics. GitBranch = "" // RuntimeHostProtocol versions the protocol between the Oasis node(s) and // the runtime. // // NOTE: This version must be synced with runtime/src/common/version.rs. RuntimeHostProtocol = Version{Major: 1, Minor: 0, Patch: 0} // RuntimeCommitteeProtocol versions the P2P protocol used by the runtime // committee members. RuntimeCommitteeProtocol = Version{Major: 1, Minor: 0, Patch: 0} // ConsensusProtocol versions all data structures and processing used by // the epochtime, beacon, registry, roothash, etc. modules that are // backend by consensus. // // NOTE: Any change in the major or minor versions are considered // breaking changes for the protocol. ConsensusProtocol = Version{Major: 2, Minor: 0, Patch: 0} // Tendermint exposes the tendermint core version. Tendermint = parseSemVerStr(version.TMCoreSemVer) // ABCI is the version of the tendermint ABCI library. ABCI = parseSemVerStr(version.ABCIVersion) // Toolchain is the version of the Go compiler/standard library. Toolchain = parseSemVerStr(strings.TrimPrefix(runtime.Version(), "go")) )
View Source
var Versions = struct { RuntimeHostProtocol Version RuntimeCommitteeProtocol Version ConsensusProtocol Version Tendermint Version ABCI Version Toolchain Version }{ RuntimeHostProtocol, RuntimeCommitteeProtocol, ConsensusProtocol, Tendermint, ABCI, Toolchain, }
Versions contains all known protocol versions.
Functions ¶
func ConvertGoModulesVersion ¶ added in v0.2012.3
Convert Go Modules compatible version to Oasis Core's canonical version.
Types ¶
type Version ¶
type Version struct { Major uint16 `json:"major,omitempty"` Minor uint16 `json:"minor,omitempty"` Patch uint16 `json:"patch,omitempty"` }
Version is a protocol or a runtime version.
func (Version) MajorMinor ¶
MajorMinor extracts major and minor segments of the Version only.
This is useful for comparing protocol version since the patch segment can be ignored.
Click to show internal directories.
Click to hide internal directories.