Lighthouse v0.2.0 (Medalla) (#1452)
## Issue Addressed
NA
## Proposed Changes
- Moves the git-based versioning we were doing into the `lighthouse_version` crate in `common`.
- Removes the `beacon_node/version` crate, replacing it with `lighthouse_version`.
- Bumps the version to `v0.2.0`.
## Additional Info
There are now two types of version string:
1. `const VERSION: &str = Lighthouse/v0.2.0-1419501f2+`
1. `version_with_platform() = Lighthouse/v0.2.0-1419501f2+/x86_64-linux`
(1) is handy cause it's a `const` and shorter. (2) has platform info so it's more useful. Note that the plus-sign (`+`) indicates the the git commit is dirty (it used to be `(modified)` but I had to shorten it to fit into graffiti).
These version strings are now included on:
- `lighthouse --version`
- `lcli --version`
- `curl localhost:5052/node/version`
- p2p messages when we communicate our version
You can update the version by changing this constant (version is not related to a `Cargo.toml`):
b9ad7102d5/common/lighthouse_version/src/lib.rs (L4-L15)
This commit is contained in:
parent
d4dd25883f
commit
f26adc0a36
24
Cargo.lock
generated
24
Cargo.lock
generated
@ -424,6 +424,7 @@ dependencies = [
|
|||||||
"futures 0.3.5",
|
"futures 0.3.5",
|
||||||
"genesis",
|
"genesis",
|
||||||
"hyper 0.13.7",
|
"hyper 0.13.7",
|
||||||
|
"lighthouse_version",
|
||||||
"logging",
|
"logging",
|
||||||
"node_test_rig",
|
"node_test_rig",
|
||||||
"rand 0.7.3",
|
"rand 0.7.3",
|
||||||
@ -434,7 +435,6 @@ dependencies = [
|
|||||||
"store",
|
"store",
|
||||||
"tokio 0.2.22",
|
"tokio 0.2.22",
|
||||||
"types",
|
"types",
|
||||||
"version",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -1546,6 +1546,7 @@ dependencies = [
|
|||||||
"lazy_static",
|
"lazy_static",
|
||||||
"libp2p",
|
"libp2p",
|
||||||
"lighthouse_metrics",
|
"lighthouse_metrics",
|
||||||
|
"lighthouse_version",
|
||||||
"lru",
|
"lru",
|
||||||
"parking_lot 0.11.0",
|
"parking_lot 0.11.0",
|
||||||
"rand 0.7.3",
|
"rand 0.7.3",
|
||||||
@ -1565,7 +1566,6 @@ dependencies = [
|
|||||||
"tokio-util",
|
"tokio-util",
|
||||||
"types",
|
"types",
|
||||||
"unsigned-varint 0.3.3 (git+https://github.com/sigp/unsigned-varint?branch=latest-codecs)",
|
"unsigned-varint 0.3.3 (git+https://github.com/sigp/unsigned-varint?branch=latest-codecs)",
|
||||||
"version",
|
|
||||||
"void",
|
"void",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -2591,6 +2591,7 @@ dependencies = [
|
|||||||
"futures 0.3.5",
|
"futures 0.3.5",
|
||||||
"genesis",
|
"genesis",
|
||||||
"hex 0.4.2",
|
"hex 0.4.2",
|
||||||
|
"lighthouse_version",
|
||||||
"log 0.4.11",
|
"log 0.4.11",
|
||||||
"rand 0.7.3",
|
"rand 0.7.3",
|
||||||
"regex",
|
"regex",
|
||||||
@ -2990,7 +2991,7 @@ dependencies = [
|
|||||||
"environment",
|
"environment",
|
||||||
"eth2_testnet_config",
|
"eth2_testnet_config",
|
||||||
"futures 0.3.5",
|
"futures 0.3.5",
|
||||||
"git-version",
|
"lighthouse_version",
|
||||||
"logging",
|
"logging",
|
||||||
"slog",
|
"slog",
|
||||||
"slog-async",
|
"slog-async",
|
||||||
@ -3011,6 +3012,14 @@ dependencies = [
|
|||||||
"prometheus",
|
"prometheus",
|
||||||
]
|
]
|
||||||
|
|
||||||
|
[[package]]
|
||||||
|
name = "lighthouse_version"
|
||||||
|
version = "0.1.0"
|
||||||
|
dependencies = [
|
||||||
|
"git-version",
|
||||||
|
"target_info",
|
||||||
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "linked-hash-map"
|
name = "linked-hash-map"
|
||||||
version = "0.5.3"
|
version = "0.5.3"
|
||||||
@ -4342,6 +4351,7 @@ dependencies = [
|
|||||||
"itertools 0.9.0",
|
"itertools 0.9.0",
|
||||||
"lazy_static",
|
"lazy_static",
|
||||||
"lighthouse_metrics",
|
"lighthouse_metrics",
|
||||||
|
"lighthouse_version",
|
||||||
"network",
|
"network",
|
||||||
"node_test_rig",
|
"node_test_rig",
|
||||||
"operation_pool",
|
"operation_pool",
|
||||||
@ -4363,7 +4373,6 @@ dependencies = [
|
|||||||
"types",
|
"types",
|
||||||
"uhttp_sse",
|
"uhttp_sse",
|
||||||
"url 2.1.1",
|
"url 2.1.1",
|
||||||
"version",
|
|
||||||
]
|
]
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
@ -6179,13 +6188,6 @@ version = "0.8.2"
|
|||||||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||||
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
checksum = "f1bddf1187be692e79c5ffeab891132dfb0f236ed36a43c7ed39f1165ee20191"
|
||||||
|
|
||||||
[[package]]
|
|
||||||
name = "version"
|
|
||||||
version = "0.1.2"
|
|
||||||
dependencies = [
|
|
||||||
"target_info",
|
|
||||||
]
|
|
||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "version_check"
|
name = "version_check"
|
||||||
version = "0.1.5"
|
version = "0.1.5"
|
||||||
|
@ -11,7 +11,6 @@ members = [
|
|||||||
"beacon_node/rest_api",
|
"beacon_node/rest_api",
|
||||||
"beacon_node/store",
|
"beacon_node/store",
|
||||||
"beacon_node/timer",
|
"beacon_node/timer",
|
||||||
"beacon_node/version",
|
|
||||||
"beacon_node/websocket_server",
|
"beacon_node/websocket_server",
|
||||||
|
|
||||||
"boot_node",
|
"boot_node",
|
||||||
@ -27,6 +26,7 @@ members = [
|
|||||||
"common/eth2_wallet_manager",
|
"common/eth2_wallet_manager",
|
||||||
"common/hashset_delay",
|
"common/hashset_delay",
|
||||||
"common/lighthouse_metrics",
|
"common/lighthouse_metrics",
|
||||||
|
"common/lighthouse_version",
|
||||||
"common/logging",
|
"common/logging",
|
||||||
"common/remote_beacon_node",
|
"common/remote_beacon_node",
|
||||||
"common/rest_types",
|
"common/rest_types",
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "beacon_node"
|
name = "beacon_node"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
authors = ["Paul Hauner <paul@paulhauner.com>", "Age Manning <Age@AgeManning.com"]
|
authors = ["Paul Hauner <paul@paulhauner.com>", "Sigma Prime <contact@sigmaprime.io>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
[lib]
|
[lib]
|
||||||
@ -20,7 +20,6 @@ beacon_chain = { path = "beacon_chain" }
|
|||||||
types = { path = "../consensus/types" }
|
types = { path = "../consensus/types" }
|
||||||
store = { path = "./store" }
|
store = { path = "./store" }
|
||||||
client = { path = "client" }
|
client = { path = "client" }
|
||||||
version = { path = "version" }
|
|
||||||
clap = "2.33.0"
|
clap = "2.33.0"
|
||||||
rand = "0.7.3"
|
rand = "0.7.3"
|
||||||
slog = { version = "2.5.2", features = ["max_level_trace", "release_max_level_trace"] }
|
slog = { version = "2.5.2", features = ["max_level_trace", "release_max_level_trace"] }
|
||||||
@ -40,3 +39,4 @@ eth2_ssz = "0.1.2"
|
|||||||
serde = "1.0.110"
|
serde = "1.0.110"
|
||||||
clap_utils = { path = "../common/clap_utils" }
|
clap_utils = { path = "../common/clap_utils" }
|
||||||
hyper = "0.13.5"
|
hyper = "0.13.5"
|
||||||
|
lighthouse_version = { path = "../common/lighthouse_version" }
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[package]
|
[package]
|
||||||
name = "beacon_chain"
|
name = "beacon_chain"
|
||||||
version = "0.1.2"
|
version = "0.1.2"
|
||||||
authors = ["Paul Hauner <paul@paulhauner.com>", "Age Manning <Age@AgeManning.com>"]
|
authors = ["Paul Hauner <paul@paulhauner.com>"]
|
||||||
edition = "2018"
|
edition = "2018"
|
||||||
|
|
||||||
[features]
|
[features]
|
||||||
|
@ -14,7 +14,7 @@ serde_derive = "1.0.110"
|
|||||||
eth2_ssz = "0.1.2"
|
eth2_ssz = "0.1.2"
|
||||||
eth2_ssz_derive = "0.1.0"
|
eth2_ssz_derive = "0.1.0"
|
||||||
slog = { version = "2.5.2", features = ["max_level_trace"] }
|
slog = { version = "2.5.2", features = ["max_level_trace"] }
|
||||||
version = { path = "../version" }
|
lighthouse_version = { path = "../../common/lighthouse_version" }
|
||||||
tokio = { version = "0.2.21", features = ["time", "macros"] }
|
tokio = { version = "0.2.21", features = ["time", "macros"] }
|
||||||
futures = "0.3.5"
|
futures = "0.3.5"
|
||||||
error-chain = "0.12.2"
|
error-chain = "0.12.2"
|
||||||
|
@ -77,7 +77,7 @@ impl<TSpec: EthSpec> Behaviour<TSpec> {
|
|||||||
|
|
||||||
let identify = Identify::new(
|
let identify = Identify::new(
|
||||||
"lighthouse/libp2p".into(),
|
"lighthouse/libp2p".into(),
|
||||||
version::version(),
|
lighthouse_version::version_with_platform(),
|
||||||
local_key.public(),
|
local_key.public(),
|
||||||
);
|
);
|
||||||
|
|
||||||
|
@ -131,7 +131,7 @@ impl Default for Config {
|
|||||||
discv5_config,
|
discv5_config,
|
||||||
boot_nodes: vec![],
|
boot_nodes: vec![],
|
||||||
libp2p_nodes: vec![],
|
libp2p_nodes: vec![],
|
||||||
client_version: version::version(),
|
client_version: lighthouse_version::version_with_platform(),
|
||||||
disable_discovery: false,
|
disable_discovery: false,
|
||||||
topics,
|
topics,
|
||||||
}
|
}
|
||||||
|
@ -12,7 +12,6 @@ beacon_chain = { path = "../beacon_chain" }
|
|||||||
network = { path = "../network" }
|
network = { path = "../network" }
|
||||||
eth2_libp2p = { path = "../eth2_libp2p" }
|
eth2_libp2p = { path = "../eth2_libp2p" }
|
||||||
store = { path = "../store" }
|
store = { path = "../store" }
|
||||||
version = { path = "../version" }
|
|
||||||
serde = { version = "1.0.110", features = ["derive"] }
|
serde = { version = "1.0.110", features = ["derive"] }
|
||||||
serde_json = "1.0.52"
|
serde_json = "1.0.52"
|
||||||
serde_yaml = "0.8.11"
|
serde_yaml = "0.8.11"
|
||||||
@ -40,6 +39,7 @@ environment = { path = "../../lighthouse/environment" }
|
|||||||
uhttp_sse = "0.5.1"
|
uhttp_sse = "0.5.1"
|
||||||
bus = "2.2.3"
|
bus = "2.2.3"
|
||||||
itertools = "0.9.0"
|
itertools = "0.9.0"
|
||||||
|
lighthouse_version = { path = "../../common/lighthouse_version" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
assert_matches = "1.3.0"
|
assert_matches = "1.3.0"
|
||||||
|
@ -2,13 +2,14 @@ use crate::response_builder::ResponseBuilder;
|
|||||||
use crate::{ApiError, ApiResult};
|
use crate::{ApiError, ApiResult};
|
||||||
use eth2_libp2p::{types::SyncState, NetworkGlobals};
|
use eth2_libp2p::{types::SyncState, NetworkGlobals};
|
||||||
use hyper::{Body, Request};
|
use hyper::{Body, Request};
|
||||||
|
use lighthouse_version::version_with_platform;
|
||||||
use rest_types::{Health, SyncingResponse, SyncingStatus};
|
use rest_types::{Health, SyncingResponse, SyncingStatus};
|
||||||
use std::sync::Arc;
|
use std::sync::Arc;
|
||||||
use types::{EthSpec, Slot};
|
use types::{EthSpec, Slot};
|
||||||
|
|
||||||
/// Read the version string from the current Lighthouse build.
|
/// Read the version string from the current Lighthouse build.
|
||||||
pub fn get_version(req: Request<Body>) -> ApiResult {
|
pub fn get_version(req: Request<Body>) -> ApiResult {
|
||||||
ResponseBuilder::new(&req)?.body_no_ssz(&version::version())
|
ResponseBuilder::new(&req)?.body_no_ssz(&version_with_platform())
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn syncing<T: EthSpec>(
|
pub fn syncing<T: EthSpec>(
|
||||||
|
@ -24,7 +24,6 @@ use types::{
|
|||||||
RelativeEpoch, Signature, SignedAggregateAndProof, SignedBeaconBlock, SignedRoot, Slot,
|
RelativeEpoch, Signature, SignedAggregateAndProof, SignedBeaconBlock, SignedRoot, Slot,
|
||||||
SubnetId, Validator,
|
SubnetId, Validator,
|
||||||
};
|
};
|
||||||
use version;
|
|
||||||
|
|
||||||
type E = MinimalEthSpec;
|
type E = MinimalEthSpec;
|
||||||
|
|
||||||
@ -764,7 +763,11 @@ fn get_version() {
|
|||||||
.block_on(remote_node.http.node().get_version())
|
.block_on(remote_node.http.node().get_version())
|
||||||
.expect("should fetch eth2 config from http api");
|
.expect("should fetch eth2 config from http api");
|
||||||
|
|
||||||
assert_eq!(version::version(), version, "result should be as expected");
|
assert_eq!(
|
||||||
|
lighthouse_version::version_with_platform(),
|
||||||
|
version,
|
||||||
|
"result should be as expected"
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#[test]
|
#[test]
|
||||||
|
@ -1,11 +1,5 @@
|
|||||||
use clap::{App, Arg};
|
use clap::{App, Arg};
|
||||||
|
|
||||||
// Default text included in blocks.
|
|
||||||
// Must be 32-bytes or will not build.
|
|
||||||
//
|
|
||||||
// |-------must be this long------|
|
|
||||||
const DEFAULT_GRAFFITI: &str = "sigp/lighthouse-0.1.2-prerelease";
|
|
||||||
|
|
||||||
pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
||||||
App::new("beacon_node")
|
App::new("beacon_node")
|
||||||
.visible_aliases(&["b", "bn", "beacon"])
|
.visible_aliases(&["b", "bn", "beacon"])
|
||||||
@ -248,9 +242,11 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> {
|
|||||||
.arg(
|
.arg(
|
||||||
Arg::with_name("graffiti")
|
Arg::with_name("graffiti")
|
||||||
.long("graffiti")
|
.long("graffiti")
|
||||||
.help("Specify your custom graffiti to be included in blocks.")
|
.help(
|
||||||
|
"Specify your custom graffiti to be included in blocks. \
|
||||||
|
Defaults to the current version and commit, truncated to fit in 32 bytes. "
|
||||||
|
)
|
||||||
.value_name("GRAFFITI")
|
.value_name("GRAFFITI")
|
||||||
.default_value(DEFAULT_GRAFFITI)
|
|
||||||
.takes_value(true)
|
.takes_value(true)
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
@ -6,6 +6,7 @@ use eth2_libp2p::{Enr, Multiaddr};
|
|||||||
use eth2_testnet_config::Eth2TestnetConfig;
|
use eth2_testnet_config::Eth2TestnetConfig;
|
||||||
use slog::{crit, info, Logger};
|
use slog::{crit, info, Logger};
|
||||||
use ssz::Encode;
|
use ssz::Encode;
|
||||||
|
use std::cmp;
|
||||||
use std::fs;
|
use std::fs;
|
||||||
use std::net::{IpAddr, Ipv4Addr, ToSocketAddrs};
|
use std::net::{IpAddr, Ipv4Addr, ToSocketAddrs};
|
||||||
use std::net::{TcpListener, UdpSocket};
|
use std::net::{TcpListener, UdpSocket};
|
||||||
@ -350,21 +351,22 @@ pub fn get_config<E: EthSpec>(
|
|||||||
client_config.genesis = ClientGenesis::DepositContract;
|
client_config.genesis = ClientGenesis::DepositContract;
|
||||||
}
|
}
|
||||||
|
|
||||||
if let Some(graffiti) = cli_args.value_of("graffiti") {
|
let raw_graffiti = if let Some(graffiti) = cli_args.value_of("graffiti") {
|
||||||
let graffiti_bytes = graffiti.as_bytes();
|
if graffiti.len() > GRAFFITI_BYTES_LEN {
|
||||||
if graffiti_bytes.len() > GRAFFITI_BYTES_LEN {
|
|
||||||
return Err(format!(
|
return Err(format!(
|
||||||
"Your graffiti is too long! {} bytes maximum!",
|
"Your graffiti is too long! {} bytes maximum!",
|
||||||
GRAFFITI_BYTES_LEN
|
GRAFFITI_BYTES_LEN
|
||||||
));
|
));
|
||||||
|
}
|
||||||
|
|
||||||
|
graffiti.as_bytes()
|
||||||
} else {
|
} else {
|
||||||
// `client_config.graffiti` is initialized by default to be all 0.
|
lighthouse_version::VERSION.as_bytes()
|
||||||
// We simply copy the bytes from `graffiti_bytes` in there.
|
};
|
||||||
//
|
|
||||||
// Panic-free because `graffiti_bytes.len()` <= `GRAFFITI_BYTES_LEN`.
|
let trimmed_graffiti_len = cmp::min(raw_graffiti.len(), GRAFFITI_BYTES_LEN);
|
||||||
client_config.graffiti[..graffiti_bytes.len()].copy_from_slice(graffiti_bytes);
|
client_config.graffiti[..trimmed_graffiti_len]
|
||||||
}
|
.copy_from_slice(&raw_graffiti[..trimmed_graffiti_len]);
|
||||||
}
|
|
||||||
|
|
||||||
Ok(client_config)
|
Ok(client_config)
|
||||||
}
|
}
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
[package]
|
|
||||||
name = "version"
|
|
||||||
version = "0.1.2"
|
|
||||||
authors = ["Sigma Prime <contact@sigmaprime.io>"]
|
|
||||||
edition = "2018"
|
|
||||||
|
|
||||||
[dependencies]
|
|
||||||
target_info = "0.1.0"
|
|
@ -1,25 +0,0 @@
|
|||||||
//TODO: Build the version and hash of the built lighthouse binary
|
|
||||||
|
|
||||||
/// Version information for the Lighthouse beacon node.
|
|
||||||
// currently only supports unstable release
|
|
||||||
extern crate target_info;
|
|
||||||
|
|
||||||
use target_info::Target;
|
|
||||||
|
|
||||||
const TRACK: &str = "unstable";
|
|
||||||
|
|
||||||
/// Provides the current platform
|
|
||||||
pub fn platform() -> String {
|
|
||||||
format!("{}-{}", Target::arch(), Target::os())
|
|
||||||
}
|
|
||||||
|
|
||||||
/// Version of the beacon node.
|
|
||||||
// TODO: Find the sha3 hash, date and rust version used to build the beacon_node binary
|
|
||||||
pub fn version() -> String {
|
|
||||||
format!(
|
|
||||||
"Lighthouse/v{}-{}/{}",
|
|
||||||
env!("CARGO_PKG_VERSION"),
|
|
||||||
TRACK,
|
|
||||||
platform()
|
|
||||||
)
|
|
||||||
}
|
|
11
common/lighthouse_version/Cargo.toml
Normal file
11
common/lighthouse_version/Cargo.toml
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
[package]
|
||||||
|
name = "lighthouse_version"
|
||||||
|
version = "0.1.0"
|
||||||
|
authors = ["Paul Hauner <paul@paulhauner.com>"]
|
||||||
|
edition = "2018"
|
||||||
|
|
||||||
|
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
git-version = "0.3.4"
|
||||||
|
target_info = "0.1.0"
|
24
common/lighthouse_version/src/lib.rs
Normal file
24
common/lighthouse_version/src/lib.rs
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
use git_version::git_version;
|
||||||
|
use target_info::Target;
|
||||||
|
|
||||||
|
/// Returns the current version of this build of Lighthouse.
|
||||||
|
///
|
||||||
|
/// A plus-sign (`+`) is appended to the git commit if the tree is dirty.
|
||||||
|
///
|
||||||
|
/// ## Example
|
||||||
|
///
|
||||||
|
/// `Lighthouse/v0.2.0-1419501f2+`
|
||||||
|
pub const VERSION: &str = git_version!(
|
||||||
|
args = ["--always", "--dirty=+"],
|
||||||
|
prefix = "Lighthouse/v0.2.0/",
|
||||||
|
fallback = "unknown"
|
||||||
|
);
|
||||||
|
|
||||||
|
/// Returns `VERSION`, but with platform information appended to the end.
|
||||||
|
///
|
||||||
|
/// ## Example
|
||||||
|
///
|
||||||
|
/// `Lighthouse/v0.2.0-1419501f2+/x86_64-linux`
|
||||||
|
pub fn version_with_platform() -> String {
|
||||||
|
format!("{}/{}-{}", VERSION, Target::arch(), Target::os())
|
||||||
|
}
|
@ -34,3 +34,4 @@ eth2_libp2p = { path = "../beacon_node/eth2_libp2p" }
|
|||||||
validator_dir = { path = "../common/validator_dir", features = ["insecure_keys"] }
|
validator_dir = { path = "../common/validator_dir", features = ["insecure_keys"] }
|
||||||
rand = "0.7.2"
|
rand = "0.7.2"
|
||||||
eth2_keystore = { path = "../crypto/eth2_keystore" }
|
eth2_keystore = { path = "../crypto/eth2_keystore" }
|
||||||
|
lighthouse_version = { path = "../common/lighthouse_version" }
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
#[macro_use]
|
#[macro_use]
|
||||||
extern crate log;
|
extern crate log;
|
||||||
|
|
||||||
mod change_genesis_time;
|
mod change_genesis_time;
|
||||||
mod check_deposit_data;
|
mod check_deposit_data;
|
||||||
mod deploy_deposit_contract;
|
mod deploy_deposit_contract;
|
||||||
@ -29,6 +28,7 @@ fn main() {
|
|||||||
simple_logger::init_with_level(Level::Info).expect("logger should initialize");
|
simple_logger::init_with_level(Level::Info).expect("logger should initialize");
|
||||||
|
|
||||||
let matches = App::new("Lighthouse CLI Tool")
|
let matches = App::new("Lighthouse CLI Tool")
|
||||||
|
.version(lighthouse_version::VERSION)
|
||||||
.about(
|
.about(
|
||||||
"Performs various testing-related tasks, including defining testnets.",
|
"Performs various testing-related tasks, including defining testnets.",
|
||||||
)
|
)
|
||||||
|
@ -31,7 +31,7 @@ validator_client = { "path" = "../validator_client" }
|
|||||||
account_manager = { "path" = "../account_manager" }
|
account_manager = { "path" = "../account_manager" }
|
||||||
clap_utils = { path = "../common/clap_utils" }
|
clap_utils = { path = "../common/clap_utils" }
|
||||||
eth2_testnet_config = { path = "../common/eth2_testnet_config" }
|
eth2_testnet_config = { path = "../common/eth2_testnet_config" }
|
||||||
git-version = "0.3.4"
|
lighthouse_version = { path = "../common/lighthouse_version" }
|
||||||
|
|
||||||
[dev-dependencies]
|
[dev-dependencies]
|
||||||
tempfile = "3.1.0"
|
tempfile = "3.1.0"
|
||||||
|
@ -1,23 +1,15 @@
|
|||||||
#[macro_use]
|
|
||||||
extern crate clap;
|
|
||||||
|
|
||||||
use beacon_node::ProductionBeaconNode;
|
use beacon_node::ProductionBeaconNode;
|
||||||
use clap::{App, Arg, ArgMatches};
|
use clap::{App, Arg, ArgMatches};
|
||||||
use env_logger::{Builder, Env};
|
use env_logger::{Builder, Env};
|
||||||
use environment::EnvironmentBuilder;
|
use environment::EnvironmentBuilder;
|
||||||
use eth2_testnet_config::{Eth2TestnetConfig, DEFAULT_HARDCODED_TESTNET};
|
use eth2_testnet_config::{Eth2TestnetConfig, DEFAULT_HARDCODED_TESTNET};
|
||||||
use git_version::git_version;
|
use lighthouse_version::VERSION;
|
||||||
use slog::{crit, info, warn};
|
use slog::{crit, info, warn};
|
||||||
use std::path::PathBuf;
|
use std::path::PathBuf;
|
||||||
use std::process::exit;
|
use std::process::exit;
|
||||||
use types::EthSpec;
|
use types::EthSpec;
|
||||||
use validator_client::ProductionValidatorClient;
|
use validator_client::ProductionValidatorClient;
|
||||||
|
|
||||||
pub const VERSION: &str = git_version!(
|
|
||||||
args = ["--always", "--dirty=(modified)"],
|
|
||||||
prefix = concat!(crate_version!(), "-"),
|
|
||||||
fallback = crate_version!()
|
|
||||||
);
|
|
||||||
pub const DEFAULT_DATA_DIR: &str = ".lighthouse";
|
pub const DEFAULT_DATA_DIR: &str = ".lighthouse";
|
||||||
pub const ETH2_CONFIG_FILENAME: &str = "eth2-spec.toml";
|
pub const ETH2_CONFIG_FILENAME: &str = "eth2-spec.toml";
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user