MCPcopy Index your code
hub / github.com/ChainSafe/lodestar

github.com/ChainSafe/lodestar @v1.44.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v1.44.0 ↗ · + Follow
6,464 symbols 24,768 edges 1,689 files 801 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Lodestar Ethereum Consensus Implementation

GitHub release (latest by date) Docker Image Version (latest by date) Eth Consensus Spec v1.5.0 ES Version Node Version codecov gitpoap badge

Lodestar is a TypeScript implementation of the Ethereum Consensus specification developed by ChainSafe Systems.

Getting started

Prerequisites

Developer Quickstart:
pnpm install
pnpm build
./lodestar --help

Architecture Overview

  • :package: This mono-repository contains a suite of Ethereum Consensus packages.
  • :balance_scale: The mono-repository is released under Apache-2.0 license. Note, that the packages contain their own licenses.
Package Version License Docs Description
@chainsafe/lodestar npm License documentation :computer: Command-line tool for Lodestar
@lodestar/api npm License documentation :clipboard: REST Client for the Ethereum Beacon API
@lodestar/beacon-node npm License documentation :rotating_light: Beacon-chain client
@lodestar/config npm License documentation :spiral_notepad: Eth Consensus types and params bundled together
@lodestar/db npm License documentation :floppy_disk: Read/write persistent Eth Consensus data
@lodestar/era npm License documentation :file_folder: Era file handling for historical beacon chain data
@lodestar/fork-choice npm License documentation :fork_and_knife: Beacon-chain fork choice
@lodestar/logger npm License documentation :memo: NodeJS logger for Lodestar binaries
@lodestar/params npm License documentation :spider_web: Eth Consensus network parameters
@lodestar/reqresp npm License documentation :telephone_receiver: Eth Consensus Req/Resp protocol
@lodestar/spec-test-util npm License documentation :test_tube: Test harness for Eth Consensus spec tests
@lodestar/state-transition npm License documentation :mag_right: Eth Consensus beacon-state transition
@lodestar/types npm License documentation :spiral_notepad: Eth Consensus TypeScript and SSZ types
@lodestar/utils npm License documentation :toolbox: Miscellaneous utility functions used across Lodestar
@lodestar/validator npm License documentation :bank: Validator client

Contributors

Read our contributors document, submit an issue or talk to us on our Discord!

Meetings

Weekly contributor meetings are posted under Discussions and topics are welcomed by any participant in the relevant meeting thread. Feel free to check out our meeting notes and documents on HackMD. Post-September 2021, meeting notes can be found on the Lodestar Wiki Page.

Donations

We are a local group of Toronto open-source developers. As such, all of our open-source work is funded by grants. We all take the time out of our hectic lives to contribute to the Ethereum ecosystem. If you want to donate, you can find the ETH address under "Sponsor this project" on this repository.

Extension points exported contracts — how you extend this code

Job (Interface)
(no doc) [10 implementers]
packages/cli/test/utils/crucible/interfaces.ts
StatusCache (Interface)
(no doc) [29 implementers]
packages/beacon-node/src/network/statusCache.ts
ISlashingProtection (Interface)
(no doc) [6 implementers]
packages/validator/src/slashingProtection/interface.ts
IHttpClient (Interface)
(no doc) [3 implementers]
packages/api/src/utils/client/httpClient.ts
IForkChoice (Interface)
(no doc) [2 implementers]
packages/fork-choice/src/forkChoice/interface.ts
MetricsRegisterCustom (Interface)
(no doc) [2 implementers]
packages/utils/src/metrics.ts
PubkeyCache (Interface)
(no doc) [2 implementers]
packages/state-transition/src/cache/pubkeyCache.ts
DatabaseController (Interface)
(no doc) [1 implementers]
packages/db/src/controller/interface.ts

Core symbols most depended-on inside this repo

push
called by 926
packages/beacon-node/src/util/array.ts
set
called by 821
packages/state-transition/src/cache/pubkeyCache.ts
map
called by 773
packages/beacon-node/src/util/array.ts
gauge
called by 471
packages/utils/src/metrics.ts
toRootHex
called by 441
packages/utils/src/bytes/nodejs.ts
alloc
called by 414
packages/beacon-node/src/util/bufferPool.ts
defaultValue
called by 408
packages/types/src/utils/stringType.ts
get
called by 395
packages/beacon-node/src/network/statusCache.ts

Shape

Function 2,832
Method 2,637
Class 626
Enum 218
Interface 151

Languages

TypeScript100%

Modules by API surface

packages/state-transition/src/stateView/nativeBeaconStateView.ts103 symbols
packages/state-transition/src/stateView/beaconStateView.ts103 symbols
packages/fork-choice/src/forkChoice/forkChoice.ts85 symbols
packages/state-transition/src/stateView/interface.ts69 symbols
packages/beacon-node/src/network/network.ts69 symbols
packages/beacon-node/src/chain/blocks/blockInput/blockInput.ts68 symbols
packages/fork-choice/src/forkChoice/interface.ts66 symbols
packages/beacon-node/src/chain/chain.ts66 symbols
packages/fork-choice/src/protoArray/protoArray.ts61 symbols
packages/validator/src/services/validatorStore.ts52 symbols
packages/beacon-node/src/chain/interface.ts51 symbols
packages/state-transition/src/cache/epochCache.ts42 symbols

For agents

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

⬇ download graph artifact

Ask about this repo answers extend the page