Skip to content

Repository files navigation

Pluto

Docs Lint Build Dependencies Coverage

Rust License

Pluto is an alternative implementation of Charon, a distributed validator middleware client for Ethereum Staking. It enables a group of independent operators to safely run a single validator by coordinating duties across multiple nodes.

Pluto, like Charon, is used by stakers to distribute the responsibility of running Ethereum Validators across a number of different instances and client implementations.

See the official docs at https://docs.obol.org/ for introductions and key concepts.

Documentation

The Obol Docs website is the best place to get started. The important sections are intro, key concepts and charon.

Version compatibility

Pluto tracks Charon parity: the workspace version reflects the Charon release that Pluto aims to be compatible with.

Following semver, two given versions of Pluto are:

  • compatible if their MAJOR number is the same, MINOR and PATCH numbers differ
  • incompatible if their MAJOR number differs

Reasons for a new MAJOR release include a new Ethereum hardfork, removal of an old hardfork, or breaking changes to the internal P2P network or consensus mechanism.

The pluto dkg subcommand is more restrictive: all peers must run matching MAJOR and MINOR versions for the DKG ceremony; patch versions may differ, though running the latest patch is recommended.

Build / Run / Test

Docker (pre-built image):

docker pull nethermindeth/pluto:latest
docker run --rm nethermindeth/pluto:latest --help

Build from source:

cargo build --release --workspace

Run tests:

cargo test --workspace --features pluto-eth2api/integration   # requires a running Docker daemon

Local observability stack for tests:

docker compose -f test-infra/docker-compose.yml up -d   # Grafana on http://localhost:3000

Examples

Examples are located in crate-specific example folders:

License

Business Source License 1.1 — see LICENSE for details.

Would like to contribute?

See Contributing.

About

Pluto is a Proof of Stake Ethereum Distributed Validator Middleware Client written in Rust

Topics

Resources

Contributing

Security policy

Stars

8 stars

Watchers

2 watching

Forks

Releases

Packages

Used by

Contributors

Languages