beacon-chain/

directory
v5.0.4-rc.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 5, 2024 License: GPL-3.0

README

Prysmatic Labs Beacon Chain Implementation

This is the main project folder for the beacon chain implementation of Ethereum written in Go by Prysmatic Labs.

You can also read our main README and join our active chat room on Discord.

Discord

Also, read the official beacon chain specification, this design spec serves as a source of truth for the beacon chain implementation we follow at Prysmatic Labs.

Directories

Path Synopsis
Package blockchain defines the life-cycle of the blockchain at the core of Ethereum, including processing of new blocks and attestations using proof of stake.
Package blockchain defines the life-cycle of the blockchain at the core of Ethereum, including processing of new blocks and attestations using proof of stake.
Package cache includes all important caches for the runtime of an Ethereum Beacon Node, ensuring the node does not spend resources computing duplicate operations such as committee calculations for validators during the same epoch, etc.
Package cache includes all important caches for the runtime of an Ethereum Beacon Node, ensuring the node does not spend resources computing duplicate operations such as committee calculations for validators during the same epoch, etc.
core
db
Package db defines the ability to create a new database for an Ethereum Beacon Node.
Package db defines the ability to create a new database for an Ethereum Beacon Node.
Package interopcoldstart allows for spinning up a deterministic-genesis local chain without the need for eth1 deposits useful for local client development and interoperability testing.
Package interopcoldstart allows for spinning up a deterministic-genesis local chain without the need for eth1 deposits useful for local client development and interoperability testing.
Package execution defines a runtime service which is tasked with communicating with an eth1 endpoint, processing logs from a deposit contract, and the latest eth1 data headers for usage in the beacon node.
Package execution defines a runtime service which is tasked with communicating with an eth1 endpoint, processing logs from a deposit contract, and the latest eth1 data headers for usage in the beacon node.
Package forkchoice implements the service to support fork choice for the Ethereum beacon chain.
Package forkchoice implements the service to support fork choice for the Ethereum beacon chain.
Package monitor defines a runtime service which receives notifications triggered by events related to performance of tracked validating keys.
Package monitor defines a runtime service which receives notifications triggered by events related to performance of tracked validating keys.
Package node is the main service which launches a beacon node and manages the lifecycle of all its associated services at runtime, such as p2p, RPC, sync, gracefully closing them if the process ends.
Package node is the main service which launches a beacon node and manages the lifecycle of all its associated services at runtime, such as p2p, RPC, sync, gracefully closing them if the process ends.
operations
p2p
Package p2p implements the Ethereum consensus networking specification.
Package p2p implements the Ethereum consensus networking specification.
rpc
Package rpc defines a gRPC server implementing the Ethereum consensus API as needed by validator clients and consumers of chain data.
Package rpc defines a gRPC server implementing the Ethereum consensus API as needed by validator clients and consumers of chain data.
Package slasher implements slashing detection for eth2, able to catch slashable attestations and proposals that it receives via two event feeds, respectively.
Package slasher implements slashing detection for eth2, able to catch slashable attestations and proposals that it receives via two event feeds, respectively.
Package state defines the actual beacon state interface used by a Prysm beacon node, also containing useful, scoped interfaces such as a ReadOnlyState and WriteOnlyBeaconState.
Package state defines the actual beacon state interface used by a Prysm beacon node, also containing useful, scoped interfaces such as a ReadOnlyState and WriteOnlyBeaconState.
Package sync TODO(3147): Add details on how sync works.
Package sync TODO(3147): Add details on how sync works.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL