From 80c597a3725b6a1924b5edba385a4da2c4cfae20 Mon Sep 17 00:00:00 2001 From: Agnish Ghosh Date: Mon, 16 Dec 2024 13:30:51 +0530 Subject: [PATCH 1/3] adds peerdas-supernode flag instead of launching a peerdas supernode in subscribeAllSubnets --- beacon_chain/conf.nim | 5 +++++ beacon_chain/nimbus_beacon_node.nim | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/beacon_chain/conf.nim b/beacon_chain/conf.nim index de66a5b6ad..dd23b9357c 100644 --- a/beacon_chain/conf.nim +++ b/beacon_chain/conf.nim @@ -253,6 +253,11 @@ type desc: "Subscribe to all subnet topics when gossiping" name: "subscribe-all-subnets" .}: bool + peerdasSupernode* {. + defaultValue: false, + desc: "Subscribe to all column subnets, thereby becoming a peerdas supernode" + name: "peerdas-supernode" .}: bool + slashingDbKind* {. hidden defaultValue: SlashingDbKind.v2 diff --git a/beacon_chain/nimbus_beacon_node.nim b/beacon_chain/nimbus_beacon_node.nim index 44d6d39986..e849ca6a98 100644 --- a/beacon_chain/nimbus_beacon_node.nim +++ b/beacon_chain/nimbus_beacon_node.nim @@ -416,7 +416,7 @@ proc initFullNode( onElectraAttesterSlashingAdded)) blobQuarantine = newClone(BlobQuarantine.init(onBlobSidecarAdded)) dataColumnQuarantine = newClone(DataColumnQuarantine.init()) - supernode = node.config.subscribeAllSubnets + supernode = node.config.peerdasSupernode localCustodySubnets = if supernode: DATA_COLUMN_SIDECAR_SUBNET_COUNT.uint64 @@ -564,7 +564,7 @@ proc initFullNode( node.network.nodeId.get_custody_columns(max(SAMPLES_PER_SLOT.uint64, localCustodySubnets)) - if node.config.subscribeAllSubnets: + if node.config.peerdasSupernode: node.network.loadCscnetMetadataAndEnr(DATA_COLUMN_SIDECAR_SUBNET_COUNT.uint8) else: node.network.loadCscnetMetadataAndEnr(CUSTODY_REQUIREMENT.uint8) From 986558c4b602dd94e272606e53f27a8311aca7a6 Mon Sep 17 00:00:00 2001 From: Agnish Ghosh Date: Mon, 16 Dec 2024 17:57:55 +0530 Subject: [PATCH 2/3] make the flag default and _hidden_ --- beacon_chain/conf.nim | 3 ++- beacon_chain/spec/eip7594_helpers.nim | 4 ++-- beacon_chain/spec/helpers.nim | 2 +- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/beacon_chain/conf.nim b/beacon_chain/conf.nim index dd23b9357c..8b3dce353c 100644 --- a/beacon_chain/conf.nim +++ b/beacon_chain/conf.nim @@ -254,9 +254,10 @@ type name: "subscribe-all-subnets" .}: bool peerdasSupernode* {. + hidden defaultValue: false, desc: "Subscribe to all column subnets, thereby becoming a peerdas supernode" - name: "peerdas-supernode" .}: bool + name: "debug-peerdas-supernode" .}: bool slashingDbKind* {. hidden diff --git a/beacon_chain/spec/eip7594_helpers.nim b/beacon_chain/spec/eip7594_helpers.nim index 94037505b6..9456e63acc 100644 --- a/beacon_chain/spec/eip7594_helpers.nim +++ b/beacon_chain/spec/eip7594_helpers.nim @@ -24,7 +24,7 @@ type CellBytes = array[fulu.CELLS_PER_EXT_BLOB, Cell] ProofBytes = array[fulu.CELLS_PER_EXT_BLOB, KzgProof] -func sortedColumnIndices*(columnsPerSubnet: ColumnIndex, +func sortedColumnIndices(columnsPerSubnet: ColumnIndex, subnetIds: HashSet[uint64]): seq[ColumnIndex] = var res: seq[ColumnIndex] = @[] @@ -35,7 +35,7 @@ func sortedColumnIndices*(columnsPerSubnet: ColumnIndex, res.sort res -func sortedColumnIndexList*(columnsPerSubnet: ColumnIndex, +func sortedColumnIndexList(columnsPerSubnet: ColumnIndex, subnetIds: HashSet[uint64]): List[ColumnIndex, NUMBER_OF_COLUMNS] = var diff --git a/beacon_chain/spec/helpers.nim b/beacon_chain/spec/helpers.nim index 75e5f3efac..e1df9ee2b3 100644 --- a/beacon_chain/spec/helpers.nim +++ b/beacon_chain/spec/helpers.nim @@ -10,7 +10,6 @@ # Uncategorized helper functions from the spec import - std/sequtils, # Status libraries stew/[byteutils, endians2, objects], nimcrypto/sha2, @@ -543,6 +542,7 @@ proc compute_execution_block_hash*(blck: ForkyBeaconBlock): Eth2Digest = rlpHash(blockToBlockHeader(blck)).to(Eth2Digest) from std/math import exp, ln +from std/sequtils import foldl func ln_binomial(n, k: int): float64 = if k > n: From 31d6f0f784983c5574bba453ba44a7ff5d3e910c Mon Sep 17 00:00:00 2001 From: Agnish Ghosh Date: Mon, 16 Dec 2024 18:41:49 +0530 Subject: [PATCH 3/3] fix indentation --- beacon_chain/spec/eip7594_helpers.nim | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/beacon_chain/spec/eip7594_helpers.nim b/beacon_chain/spec/eip7594_helpers.nim index 9456e63acc..148d28832f 100644 --- a/beacon_chain/spec/eip7594_helpers.nim +++ b/beacon_chain/spec/eip7594_helpers.nim @@ -25,8 +25,8 @@ type ProofBytes = array[fulu.CELLS_PER_EXT_BLOB, KzgProof] func sortedColumnIndices(columnsPerSubnet: ColumnIndex, - subnetIds: HashSet[uint64]): - seq[ColumnIndex] = + subnetIds: HashSet[uint64]): + seq[ColumnIndex] = var res: seq[ColumnIndex] = @[] for i in 0'u64 ..< columnsPerSubnet: for subnetId in subnetIds: @@ -36,8 +36,8 @@ func sortedColumnIndices(columnsPerSubnet: ColumnIndex, res func sortedColumnIndexList(columnsPerSubnet: ColumnIndex, - subnetIds: HashSet[uint64]): - List[ColumnIndex, NUMBER_OF_COLUMNS] = + subnetIds: HashSet[uint64]): + List[ColumnIndex, NUMBER_OF_COLUMNS] = var res: seq[ColumnIndex] for i in 0'u64 ..< columnsPerSubnet: