mirror of
https://github.com/sigp/lighthouse.git
synced 2026-05-07 16:55:46 +00:00
Bump sync-tolerance-epoch and make it a cli param
This commit is contained in:
@@ -95,6 +95,7 @@ pub struct ChainConfig {
|
|||||||
/// This doesn't apply if the node is the block proposer.
|
/// This doesn't apply if the node is the block proposer.
|
||||||
pub blob_publication_batch_interval: Duration,
|
pub blob_publication_batch_interval: Duration,
|
||||||
pub disable_attesting: bool,
|
pub disable_attesting: bool,
|
||||||
|
pub sync_tolerance_epochs: u64,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for ChainConfig {
|
impl Default for ChainConfig {
|
||||||
@@ -131,6 +132,7 @@ impl Default for ChainConfig {
|
|||||||
blob_publication_batches: 4,
|
blob_publication_batches: 4,
|
||||||
blob_publication_batch_interval: Duration::from_millis(300),
|
blob_publication_batch_interval: Duration::from_millis(300),
|
||||||
disable_attesting: false,
|
disable_attesting: false,
|
||||||
|
sync_tolerance_epochs: 16,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,13 +107,6 @@ use warp_utils::{query::multi_key_query, reject::convert_rejection, uor::Unifyin
|
|||||||
|
|
||||||
const API_PREFIX: &str = "eth";
|
const API_PREFIX: &str = "eth";
|
||||||
|
|
||||||
/// If the node is within this many epochs from the head, we declare it to be synced regardless of
|
|
||||||
/// the network sync state.
|
|
||||||
///
|
|
||||||
/// This helps prevent attacks where nodes can convince us that we're syncing some non-existent
|
|
||||||
/// finalized head.
|
|
||||||
const SYNC_TOLERANCE_EPOCHS: u64 = 8;
|
|
||||||
|
|
||||||
/// A custom type which allows for both unsecured and TLS-enabled HTTP servers.
|
/// A custom type which allows for both unsecured and TLS-enabled HTTP servers.
|
||||||
type HttpServer = (SocketAddr, Pin<Box<dyn Future<Output = ()> + Send>>);
|
type HttpServer = (SocketAddr, Pin<Box<dyn Future<Output = ()> + Send>>);
|
||||||
|
|
||||||
@@ -157,6 +150,7 @@ pub struct Config {
|
|||||||
pub duplicate_block_status_code: StatusCode,
|
pub duplicate_block_status_code: StatusCode,
|
||||||
pub enable_light_client_server: bool,
|
pub enable_light_client_server: bool,
|
||||||
pub target_peers: usize,
|
pub target_peers: usize,
|
||||||
|
pub sync_tolerance_epochs: usize,
|
||||||
}
|
}
|
||||||
|
|
||||||
impl Default for Config {
|
impl Default for Config {
|
||||||
@@ -173,6 +167,7 @@ impl Default for Config {
|
|||||||
duplicate_block_status_code: StatusCode::ACCEPTED,
|
duplicate_block_status_code: StatusCode::ACCEPTED,
|
||||||
enable_light_client_server: true,
|
enable_light_client_server: true,
|
||||||
target_peers: 100,
|
target_peers: 100,
|
||||||
|
sync_tolerance_epochs: 16,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -473,7 +468,8 @@ pub fn serve<T: BeaconChainTypes>(
|
|||||||
)
|
)
|
||||||
})?;
|
})?;
|
||||||
|
|
||||||
let tolerance = SYNC_TOLERANCE_EPOCHS * T::EthSpec::slots_per_epoch();
|
let tolerance =
|
||||||
|
chain.config.sync_tolerance_epochs * T::EthSpec::slots_per_epoch();
|
||||||
|
|
||||||
if head_slot + tolerance >= current_slot {
|
if head_slot + tolerance >= current_slot {
|
||||||
Ok(())
|
Ok(())
|
||||||
|
|||||||
@@ -561,6 +561,14 @@ pub fn cli_app() -> Command {
|
|||||||
.action(ArgAction::SetTrue)
|
.action(ArgAction::SetTrue)
|
||||||
.display_order(0)
|
.display_order(0)
|
||||||
)
|
)
|
||||||
|
.arg(
|
||||||
|
Arg::new("sync-tolerance-epochs")
|
||||||
|
.long("sync-tolerance-epochs")
|
||||||
|
.help("If the beacon node is within this many epochs from the head, we declare it to \
|
||||||
|
be synced regardless of the network sync state")
|
||||||
|
.action(ArgAction::Set)
|
||||||
|
.display_order(0)
|
||||||
|
)
|
||||||
.arg(
|
.arg(
|
||||||
Arg::new("http-sse-capacity-multiplier")
|
Arg::new("http-sse-capacity-multiplier")
|
||||||
.long("http-sse-capacity-multiplier")
|
.long("http-sse-capacity-multiplier")
|
||||||
|
|||||||
Reference in New Issue
Block a user