midnight72121 / charon

Charon (pronounced 'kharon') is a Proof of Stake Ethereum Distributed Validator Client

Home Page:https://docs.obol.tech/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 Enterprises and DAOs 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.

Supported Consensus Layer Clients

Charon integrates into the Ethereum consensus stack as a middleware between the validator client and the beacon node via the official Eth Beacon Node REST API. Charon supports any upstream beacon node that serves the Beacon API. Charon aims to support any downstream standalone validator client that consumes the Beacon API.

Client Beacon Node Validator Client Notes
Teku Fully supported
Lighthouse Fully supported
Lodestar *️⃣ DVT compatibility issue
Vouch *️⃣ Only validator client provided
Prysm 🛑 Validator client requires gRPC API
Nimbus *️⃣ No standalone validator client provided

Project Status

It is still early days for the Obol Network and things are under active development. We are moving fast so check back in regularly to track the progress.

Charon is a distributed validator, so its main responsibility is performing validation duties. The following table outlines which clients have produced which duties on a public testnet, and which are still under construction (🚧 )

Duty \ Client Teku Lighthouse Lodestar Nimbus Vouch Prysm
Attestation 🚧 🚧 🚧
Attestation Aggregation 🚧 🚧 🚧 🚧 🚧 🚧
Block Proposal 🚧 🚧 🚧 🚧
Blinded Block Proposal (mev-boost) 🚧 🚧 🚧 🚧
Sync Committee Message 🚧 🚧 🚧 🚧
Sync Committee Contribution 🚧 🚧 🚧 🚧 🚧 🚧

About

Charon (pronounced 'kharon') is a Proof of Stake Ethereum Distributed Validator Client

https://docs.obol.tech/

License:GNU General Public License v3.0


Languages

Language:Go 99.7%Language:Dockerfile 0.1%Language:Shell 0.1%