NethermindEth / NethermindEth/pluto

Close out the deferred node wiring

Open
#610 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

rust track:orchestration-cli
Dominant language
Rust
Stars
8
Forks
5
Avg merge
4d 16h
Merged PRs (30d)
37

Description

Summary

The node graph (#402) landed with seven deferred wiring points, all marked TODO(#402 part B). This issue enumerates them so each can be closed by wiring or by a documented decision to drop:

Site Pending
behaviour.rs#L98-L99 QUIC transport and bandwidth metrics — Node::new (client path) takes no BandwidthFactory, so per-peer byte counters never record in the DV node.
behaviour.rs#L255-L256 consensus protocol reordering by cluster/CLI preference (Go's PrioritizeProtocolsByName)
config.rs#L12-L13 debug/pprof addr, OTLP tracing config, test-injection overrides
mod.rs#L340-L342 multi-endpoint beacon fallback — only beacon_node_addrs[0] is used.
mod.rs#L429-L430 wrap consensus in ConsensusController for dynamic protocol switching
mod.rs#L721-L724 infosync is built and triggered per-epoch, but its decided output is discarded — a no-op only while QBFTv2 is the sole protocol; also keeps the compose mixed_2_charon_2_pluto smoke scenario excluding the sched warn topic
mod.rs#L938-L941 drive_network discards every swarm event (optional logging)

Adjacent wiring debt outside the #402 marker: the sse module is exported but referenced by nothing in node/ (its broadcast TODO is tracked in #606); the Cluster-Uuid relay header TODO; Feature::AttestationInclusion force-disabled in tracker_feature_set.

Proposed change

Treat this as the umbrella checklist under #402: each row gets wired (with a test) or removed with the TODO deleted and the decision recorded here. Highest value first: infosync consumption and bandwidth wiring — both are "component built, output dropped".

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the listed TODO sites in crates/app/src/node/behaviour.rs, config.rs, and mod.rs, prioritizing infosync consumption and bandwidth wiring. For each row, inspect the named entry point and add a test with the wiring, or remove the TODO and record the decision here.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
blockchain, distributed-systems
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.