Skip to content

Commit a6bab77

Browse files
committed
Enable finalized history network to portal client
1 parent b57fa0b commit a6bab77

File tree

5 files changed

+32
-2
lines changed

5 files changed

+32
-2
lines changed

portal/client/nimbus_portal_client_conf.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ type
106106

107107
portalSubnetworks* {.
108108
desc: "Select which networks (Portal sub-protocols) to enable",
109-
defaultValue: {PortalSubnetwork.history, PortalSubnetwork.beacon},
109+
defaultValue: {PortalSubnetwork.finalizedHistory, PortalSubnetwork.history, PortalSubnetwork.beacon},
110110
name: "portal-subnetworks"
111111
.}: set[PortalSubnetwork]
112112

portal/network/finalized_history/finalized_history_network.nim

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ proc new*(
6161

6262
portalProtocol = PortalProtocol.new(
6363
baseProtocol,
64-
[byte(0x50), 0x00], # TODO: Adapt getProtocolId
64+
getProtocolId(portalNetwork, PortalSubnetwork.finalizedHistory),
6565
toContentIdHandler,
6666
createGetHandler(contentDB),
6767
createStoreHandler(contentDB, portalConfig.radiusConfig),

portal/network/portal_node.nim

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import
1717
../database/content_db,
1818
./network_metadata,
1919
./wire/[portal_stream, portal_protocol_config],
20+
./finalized_history/finalized_history_network,
2021
./beacon/[beacon_init_loader, beacon_light_client],
2122
./history/[history_network, history_content],
2223
./state/[state_network, state_content]
@@ -42,6 +43,7 @@ type
4243
discovery: protocol.Protocol
4344
contentDB: ContentDB
4445
streamManager: StreamManager
46+
finalizedHistoryNetwork*: Opt[FinalizedHistoryNetwork]
4547
beaconNetwork*: Opt[BeaconNetwork]
4648
historyNetwork*: Opt[HistoryNetwork]
4749
stateNetwork*: Opt[StateNetwork]
@@ -107,6 +109,24 @@ proc new*(
107109
# Get it from binary file containing SSZ encoded accumulator
108110
loadAccumulator()
109111

112+
finalizedHistoryNetwork =
113+
if PortalSubnetwork.finalizedHistory in subnetworks:
114+
Opt.some(
115+
FinalizedHistoryNetwork.new(
116+
network,
117+
discovery,
118+
contentDB,
119+
streamManager,
120+
bootstrapRecords = bootstrapRecords,
121+
portalConfig = config.portalConfig,
122+
contentRequestRetries = config.contentRequestRetries,
123+
contentQueueWorkers = config.contentQueueWorkers,
124+
contentQueueSize = config.contentQueueSize,
125+
)
126+
)
127+
else:
128+
Opt.none(FinalizedHistoryNetwork)
129+
110130
beaconNetwork =
111131
if PortalSubnetwork.beacon in subnetworks:
112132
let
@@ -196,6 +216,7 @@ proc new*(
196216
discovery: discovery,
197217
contentDB: contentDB,
198218
streamManager: streamManager,
219+
finalizedHistoryNetwork: finalizedHistoryNetwork,
199220
beaconNetwork: beaconNetwork,
200221
historyNetwork: historyNetwork,
201222
stateNetwork: stateNetwork,
@@ -229,6 +250,8 @@ proc start*(n: PortalNode) =
229250

230251
n.discovery.start()
231252

253+
if n.finalizedHistoryNetwork.isSome():
254+
n.finalizedHistoryNetwork.value.start()
232255
if n.beaconNetwork.isSome():
233256
n.beaconNetwork.value.start()
234257
if n.historyNetwork.isSome():
@@ -246,6 +269,8 @@ proc stop*(n: PortalNode) {.async: (raises: []).} =
246269

247270
var futures: seq[Future[void]]
248271

272+
if n.finalizedHistoryNetwork.isSome():
273+
futures.add(n.finalizedHistoryNetwork.value.stop())
249274
if n.beaconNetwork.isSome():
250275
futures.add(n.beaconNetwork.value.stop())
251276
if n.historyNetwork.isSome():

portal/network/wire/portal_protocol.nim

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -308,6 +308,8 @@ func getProtocolId*(
308308
case network
309309
of PortalNetwork.none, PortalNetwork.mainnet:
310310
case subnetwork
311+
of PortalSubnetwork.finalizedHistory:
312+
[portalPrefix, 0x00]
311313
of PortalSubnetwork.state:
312314
[portalPrefix, 0x0A]
313315
of PortalSubnetwork.history:
@@ -322,6 +324,8 @@ func getProtocolId*(
322324
[portalPrefix, 0x0F]
323325
of PortalNetwork.angelfood:
324326
case subnetwork
327+
of PortalSubnetwork.finalizedHistory:
328+
[portalPrefix, 0x40]
325329
of PortalSubnetwork.state:
326330
[portalPrefix, 0x4A]
327331
of PortalSubnetwork.history:

portal/network/wire/portal_protocol_config.nim

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ type
1717

1818
# The Portal sub-protocols
1919
PortalSubnetwork* = enum
20+
finalizedHistory
2021
state
2122
history
2223
beacon

0 commit comments

Comments
 (0)