MCPcopy
hub / github.com/OffchainLabs/prysm

github.com/OffchainLabs/prysm @v7.1.6 sqlite

repository ↗ · DeepWiki ↗ · release v7.1.6 ↗
30,918 symbols 203,012 edges 3,536 files 12,612 documented · 41%
README

Prysm: An Ethereum Consensus Implementation Written in Go

Build status Go Report Card Consensus_Spec_Version 1.4.0 Execution_API_Version 1.0.0-beta.2 Discord GitPOAP Badge


📖 Overview

This is the core repository for Prysm, a Golang implementation of the Ethereum Consensus specification, developed by Offchain Labs.

See the Changelog for details of the latest releases and upcoming breaking changes.


🚀 Getting Started

A detailed set of installation and usage instructions as well as breakdowns of each individual component are available in the official documentation portal.

💬 Need help? Join our Discord Community for support (this invite link never expires).


🏆 Staking on Mainnet

To participate in staking, you can join the official Ethereum launchpad. The launchpad is the only recommended way to become a validator on mainnet.

🔍 Explore validator rewards/penalties:


🤝 Contributing

🔥 Branches

Prysm maintains two permanent branches:

  • master - This points to the latest stable release. It is ideal for most users.
  • develop - This is used for development and contains the latest PRs. Developers should base their PRs on this branch.

🛠 Contribution Guide

Want to get involved? Check out our Contribution Guide to learn more!


📜 License

License: GPL v3

This project is licensed under the GNU General Public License v3.0.


⚖️ Legal Disclaimer

📜 Terms of Use

Extension points exported contracts — how you extend this code

Hashable (Interface)
Hashable is an interface representing objects that implement HashTreeRoot() [235 implementers]
encoding/ssz/merkleize.go
GenericConverter (Interface)
GenericConverter defines any struct that can be converted to a generic beacon block. We assume all your versioned block [26 …
proto/prysm/v1alpha1/beacon_block.go
Provider (Interface)
Provider is a type that can provide the genesis state for the initialization of the genesis package. Examples are gettin [12 …
genesis/providers.go
CanonicalChecker (Interface)
CanonicalChecker determines whether the given block root is canonical. In practice this should be satisfied by a type th [9 …
beacon-chain/state/stategen/replayer.go
Sender (Interface)
Sender abstracts the sending functionality from libp2p. [18 implementers]
beacon-chain/p2p/interfaces.go
GenesisFetcher (Interface)
GenesisFetcher retrieves the Ethereum consensus data related to its genesis. [8 implementers]
beacon-chain/blockchain/chain_info.go
GenericConverter (Interface)
GenericConverter is an example interface that your block structs could implement. [26 implementers]
beacon-chain/rpc/eth/beacon/handlers.go
PrysmChainClient (Interface)
PrysmChainClient defines an interface required to implement all the prysm specific custom endpoints. [8 implementers]
validator/client/iface/prysm_chain_client.go

Core symbols most depended-on inside this repo

NoError
called by 21236
testing/require/requires.go
BeaconConfig
called by 7376
config/params/config_utils_develop.go
Equal
called by 7121
testing/require/requires.go
Equal
called by 4730
testing/assert/assertions.go
Errorf
called by 2590
testing/assertions/assertions.go
Error
called by 2077
beacon-chain/das/bisect.go
PadTo
called by 1450
encoding/bytesutil/bytes.go
DeepEqual
called by 1440
testing/require/requires.go

Shape

Method 16,192
Function 11,673
Struct 2,443
Interface 344
TypeAlias 142
FuncType 124

Languages

Go100%

Modules by API surface

proto/prysm/v1alpha1/validator.pb.go846 symbols
proto/prysm/v1alpha1/beacon_block.pb.go678 symbols
proto/prysm/v1alpha1/beacon_chain.pb.go628 symbols
proto/prysm/v1alpha1/beacon_state.pb.go326 symbols
proto/prysm/v1alpha1/gloas.pb.go315 symbols
proto/prysm/v1alpha1/gloas.minimal.pb.go315 symbols
proto/engine/v1/execution_engine.pb.go310 symbols
consensus-types/blocks/execution.go222 symbols
beacon-chain/p2p/encoder/ssz_test.go211 symbols
beacon-chain/state/interfaces.go201 symbols
proto/prysm/v1alpha1/light_client.pb.go188 symbols
proto/prysm/v1alpha1/phase0.ssz.go180 symbols

Dependencies from manifests, versioned

filippo.io/bigmodv0.1.1-0.20260103110 · 1×
filippo.io/keygenv0.0.0-2026011415190 · 1×
github.com/BurntSushi/tomlv1.4.1-0.20240526193 · 1×
github.com/DataDog/zstdv1.5.7 · 1×
github.com/Microsoft/go-winiov0.6.2 · 1×
github.com/OffchainLabs/go-bitfieldv0.0.0-2026050414353 · 1×
github.com/OffchainLabs/hashtreev0.2.3 · 1×
github.com/ProjectZKM/Ziren/crates/go-runtime/zkvm_runtimev0.0.0-2025100102160 · 1×
github.com/VictoriaMetrics/fastcachev1.13.0 · 1×
github.com/aristanetworks/goaristav0.0.0-2020080513081 · 1×
github.com/bazelbuild/buildtoolsv0.0.0-2026052813531 · 1×
github.com/bazelbuild/rules_gov0.23.2 · 1×

For agents

$ claude mcp add prysm \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact