[Tracker] Pluto ↔ Charon port — master tracker

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

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Quiet
Tech stack
go, rust

Research direction

Start with the linked track epics #395, #396, and #397, then read the Go source and AGENTS.md before writing Rust. Use core/qbft, core/consensus, and cmd/run as the named integration points, and run cargo test --workspace --all-features. Done means the Phase 1 QBFT gate and the Phase 4 pluto run four-node compose flow pass end to end.

Written by the indexing model from the issue text.

Description

Pluto ↔ Charon port — master tracker

🎯 Goal

Fully port charon run to Pluto. Everything tracked here exists to land pluto run at functional parity with charon run — a runnable distributed-validator node that boots, joins peers, runs DKG-derived keyshares, and produces valid signed duties end-to-end.

Anything that does not directly serve pluto run parity is out of scope for this tracker.

Status

This issue tracks the Go → Rust port of Charon into Pluto. Work is grouped into three parallel tracks, plus integration anchors. Track ownership can scale up or down as the team changes — labels and sub-issue links are the source of truth, not fixed assignments.

The detailed plan (phases, calendar, risks) lives in the team Slack thread; this issue holds the issue graph.

Track epics

The three track epics are wired as sub-issues of this tracker — see the GitHub sub-issues panel for live progress bars.

  • #395 — Track A — Duty pipeline + consensus
  • #396 — Track B — Validator API + tracker
  • #397 — Track C — Orchestration + CLI

Integration milestones

  • Phase 1 gate: QBFT strategysim parity green (core/qbft async rewrite + core/consensus)
  • 🏁 Final goal / Phase 4 gate: pluto run boots a 4-node compose and runs one slot end-to-end → #403 (cmd/run) closed implies this tracker can close

Conventions

  • One PR per Go module (preserve the charon ↔ pluto bijection)
  • Read the Go source before writing Rust (per AGENTS.md)
  • Cross-track review on every PR
  • cargo test --workspace --all-features must be green at every integration sync point

Labels

  • track:duty-pipeline
  • track:validator-api
  • track:orchestration-cli

Use these to filter issue lists per track.

Dominant language
Rust
Stars
8
Forks
5
Avg merge
4d 16h
Merged PRs (30d)
37

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.

More from NethermindEth/pluto

All issues in NethermindEth/pluto

Similar issues

More Rust issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.