ObolNetwork / charon

Charon (pronounced 'kharon') is a Proof of Stake Ethereum Distributed Validator Client
https://docs.obol.tech/
Other
201 stars 89 forks source link
blockchain consensus-layer distributed-systems distributed-validator ethereum go golang proof-of-stake

Charon
The Distributed Validator middleware client

This repo contains the source code for the distributed validator client Charon (pronounced 'kharon'); a HTTP middleware client for Ethereum Staking that enables you to safely run a single validator across a group of independent nodes.

Charon is accompanied by a webapp called the Distributed Validator Launchpad for distributed validator key creation.

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

Example Obol Cluster

A Distributed Validator Cluster that uses the Charon client to hedge client and hardware failure risks

Quickstart

The easiest way to test out charon is with the charon-distributed-validator-cluster repo which contains a docker compose setup for running a full charon cluster on your local machine.

Documentation

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

For detailed documentation on this repo, see the docs folder:

There is always the charon godocs for the source code documentation.

Project Status

A table detailing Charon compatibility with upstream consensus clients and downstream validators can be found in the changelog of each release, in the Compatibility Matrix section.

Version compatibility

Considering semver as the project's versioning scheme, two given versions of Charon are:

There are several reasons to justify a new MAJOR release, for example:

The charon dkg subcommand is more restrictive than this general compatibility promise; all peers should use matchingMAJOR andMINOR versions of Charon for the DKG process, patch versions may differ though it is recommended to use the latest patch of any version.