mirror of
https://github.com/logos-blockchain/logos-blockchain-testing.git
synced 2026-01-07 15:53:10 +00:00
Align DA subnets for tiny topologies
This commit is contained in:
parent
378735d153
commit
a4f469f0b4
@ -28,6 +28,7 @@ pub static GLOBAL_PARAMS_PATH: LazyLock<String> = LazyLock::new(resolve_global_p
|
|||||||
fn canonicalize_params_path(mut path: PathBuf) -> PathBuf {
|
fn canonicalize_params_path(mut path: PathBuf) -> PathBuf {
|
||||||
if path.is_dir() {
|
if path.is_dir() {
|
||||||
let candidates = [
|
let candidates = [
|
||||||
|
path.join("kzgrs_test_params"),
|
||||||
path.join("pol/proving_key.zkey"),
|
path.join("pol/proving_key.zkey"),
|
||||||
path.join("proving_key.zkey"),
|
path.join("proving_key.zkey"),
|
||||||
];
|
];
|
||||||
@ -161,6 +162,17 @@ pub fn create_da_configs(
|
|||||||
da_params: &DaParams,
|
da_params: &DaParams,
|
||||||
ports: &[u16],
|
ports: &[u16],
|
||||||
) -> Vec<GeneralDaConfig> {
|
) -> Vec<GeneralDaConfig> {
|
||||||
|
// For tiny topologies (e.g. 1 validator + 1 executor) keep everyone in a single
|
||||||
|
// subnet so balancer readiness can be reached. For larger setups, honor the
|
||||||
|
// configured defaults.
|
||||||
|
let (effective_subnetwork_size, num_subnets) = if ids.len() <= 2 {
|
||||||
|
(1_usize, 1_u16)
|
||||||
|
} else {
|
||||||
|
(
|
||||||
|
da_params.subnetwork_size.max(ids.len().max(1)),
|
||||||
|
da_params.num_subnets,
|
||||||
|
)
|
||||||
|
};
|
||||||
let mut node_keys = vec![];
|
let mut node_keys = vec![];
|
||||||
let mut peer_ids = vec![];
|
let mut peer_ids = vec![];
|
||||||
let mut listening_addresses = vec![];
|
let mut listening_addresses = vec![];
|
||||||
@ -183,12 +195,12 @@ pub fn create_da_configs(
|
|||||||
let membership = {
|
let membership = {
|
||||||
let template = NomosDaMembership::new(
|
let template = NomosDaMembership::new(
|
||||||
SessionNumber::default(),
|
SessionNumber::default(),
|
||||||
da_params.subnetwork_size,
|
effective_subnetwork_size,
|
||||||
da_params.dispersal_factor,
|
da_params.dispersal_factor,
|
||||||
);
|
);
|
||||||
let mut assignations: HashMap<u16, HashSet<PeerId>> = HashMap::new();
|
let mut assignations: HashMap<u16, HashSet<PeerId>> = HashMap::new();
|
||||||
if peer_ids.is_empty() {
|
if peer_ids.is_empty() {
|
||||||
for id in 0..da_params.subnetwork_size {
|
for id in 0..effective_subnetwork_size {
|
||||||
assignations.insert(u16::try_from(id).unwrap_or_default(), HashSet::new());
|
assignations.insert(u16::try_from(id).unwrap_or_default(), HashSet::new());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
@ -196,7 +208,7 @@ pub fn create_da_configs(
|
|||||||
sorted_peers.sort_unstable();
|
sorted_peers.sort_unstable();
|
||||||
let dispersal = da_params.dispersal_factor.max(1);
|
let dispersal = da_params.dispersal_factor.max(1);
|
||||||
let mut peer_cycle = sorted_peers.iter().cycle();
|
let mut peer_cycle = sorted_peers.iter().cycle();
|
||||||
for id in 0..da_params.subnetwork_size {
|
for id in 0..effective_subnetwork_size {
|
||||||
let mut members = HashSet::new();
|
let mut members = HashSet::new();
|
||||||
for _ in 0..dispersal {
|
for _ in 0..dispersal {
|
||||||
// cycle() only yields None when the iterator is empty, which we guard against.
|
// cycle() only yields None when the iterator is empty, which we guard against.
|
||||||
@ -245,7 +257,7 @@ pub fn create_da_configs(
|
|||||||
verifier_sk: hex::encode(verifier_sk_bytes),
|
verifier_sk: hex::encode(verifier_sk_bytes),
|
||||||
verifier_index: subnetwork_ids,
|
verifier_index: subnetwork_ids,
|
||||||
num_samples: da_params.num_samples,
|
num_samples: da_params.num_samples,
|
||||||
num_subnets: da_params.num_subnets,
|
num_subnets,
|
||||||
old_blobs_check_interval: da_params.old_blobs_check_interval,
|
old_blobs_check_interval: da_params.old_blobs_check_interval,
|
||||||
blobs_validity_duration: da_params.blobs_validity_duration,
|
blobs_validity_duration: da_params.blobs_validity_duration,
|
||||||
policy_settings: da_params.policy_settings.clone(),
|
policy_settings: da_params.policy_settings.clone(),
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user