Ethereum consensus client in Rust
Go to file
Joel Rousseau 189430a45c
Add attestation simulator (#4880)
* basic scaffold

* remove unnecessary ?

* check if committee cache is init

* typed ValidatorMonitor with ethspecs + store attestations within

* nits

* process unaggregated attestation

* typo

* extract in func

* add tests

* better naming

* better naming 2

* less verbose

* use same naming as validator monitor

* use attestation_simulator

* add metrics

* remove cache

* refacto flag_indices process

* add lag

* remove copying state

* clean and lint

* extract metrics

* nits

* compare prom metrics in tests

* implement lag

* nits

* nits

* add attestation simulator service

* fmt

* return beacon_chain as arc

* nit: debug

* sed s/unaggregated/unagg.//

* fmt

* fmt

* nit: remove unused comments

* increase max unaggregated attestation hashmap to 64

* nit: sed s/clone/copied//

* improve perf: remove unecessary hashmap copy

* fix flag indices comp

* start service in client builder

* remove //

* cargo fmt

* lint

* cloned keys

* fmt

* use Slot value instead of pointer

* Update beacon_node/beacon_chain/src/attestation_simulator.rs

Co-authored-by: Paul Hauner <paul@paulhauner.com>

---------

Co-authored-by: Paul Hauner <paul@paulhauner.com>
2023-12-14 11:44:56 +11:00
.cargo Switch allocator to jemalloc (#3697) 2023-01-25 14:21:54 +01:00
.config Reduce nextest threads to 8 (#4846) 2023-10-18 14:19:41 +00:00
.github Add mergify merge queue configuration file (#4917) 2023-12-12 16:04:29 +11:00
account_manager Delete deprecated cli flags (#4906) 2023-11-09 15:05:55 +11:00
beacon_node Add attestation simulator (#4880) 2023-12-14 11:44:56 +11:00
book Update docs for v4.6.0 (#4982) 2023-12-08 10:45:05 +11:00
boot_node Remove serde derive references (#4830) 2023-10-11 13:01:30 -04:00
common Implement POST validators/validator_balances APIs (#4872) 2023-12-08 12:09:36 +11:00
consensus Sidecar inclusion proof (#4900) 2023-12-05 11:19:59 -05:00
crypto Sidecar inclusion proof (#4900) 2023-12-05 11:19:59 -05:00
database_manager Always use a separate database for blobs (#4892) 2023-11-09 16:51:36 +11:00
lcli Update Rust version in lcli Dockerfile. (#5002) 2023-12-12 10:20:49 -05:00
lighthouse upgrade libp2p to v0.53.* (#4935) 2023-12-07 20:39:59 +11:00
scripts Add mergify merge queue configuration file (#4917) 2023-12-12 16:04:29 +11:00
slasher Sidecar inclusion proof (#4900) 2023-12-05 11:19:59 -05:00
testing Sidecar inclusion proof (#4900) 2023-12-05 11:19:59 -05:00
validator_client Implement graffiti management API (#4951) 2023-12-07 12:02:46 +11:00
validator_manager Move dependencies to workspace (#4650) 2023-09-22 04:30:56 +00:00
watch Fix Rust beta compiler warnings (rustc 1.75.0-beta.1 (782883f60 2023-11-12)) (#4932) 2023-11-18 03:55:11 +11:00
.dockerignore Exclude EE build dirs from Docker context (#3174) 2022-05-09 23:43:31 +00:00
.editorconfig align editorconfig with rustfmt (#4600) 2023-08-14 00:29:44 +00:00
.gitignore Add vendor directory to .gitignore (#4819) 2023-10-18 06:52:51 +00:00
.gitmodules Replace EF tests submodule with a makefile 2019-09-08 04:19:54 +10:00
Cargo.lock upgrade libp2p to v0.53.* (#4935) 2023-12-07 20:39:59 +11:00
Cargo.toml Merge branch 'unstable' into merge-unstable-to-deneb-20231005 2023-10-05 15:54:44 +11:00
CONTRIBUTING.md Add branching instructions to the contribution guide (#4272) 2023-05-08 12:20:19 +00:00
Cross.toml bump clang in cross.toml (#4602) 2023-08-10 10:58:57 -04:00
Dockerfile upgrade libp2p to v0.53.* (#4935) 2023-12-07 20:39:59 +11:00
Dockerfile.cross Use a stable tag for ubuntu in dockerfile (#3231) 2022-05-31 06:09:12 +00:00
LICENSE Update License to Apache 2.0 2019-04-15 16:47:35 +10:00
Makefile CLI in Lighthouse Book (#4571) 2023-12-07 10:39:22 +11:00
README.md Update blog link in README (#4322) 2023-05-30 01:38:47 +00:00
SECURITY.md Add how users should report security vulnerabilities for this repository (#2562) 2021-09-07 01:54:05 +00:00

Lighthouse: Ethereum consensus client

An open-source Ethereum consensus client, written in Rust and maintained by Sigma Prime.

Book Status Chat Badge

Documentation

Banner

Overview

Lighthouse is:

  • Ready for use on Ethereum consensus mainnet.
  • Fully open-source, licensed under Apache 2.0.
  • Security-focused. Fuzzing techniques have been continuously applied and several external security reviews have been performed.
  • Built in Rust, a modern language providing unique safety guarantees and excellent performance (comparable to C++).
  • Funded by various organisations, including Sigma Prime, the Ethereum Foundation, ConsenSys, the Decentralization Foundation and private individuals.
  • Actively involved in the specification and security analysis of the Ethereum proof-of-stake consensus specification.

Staking Deposit Contract

The Lighthouse team acknowledges 0x00000000219ab540356cBB839Cbe05303d7705Fa as the canonical staking deposit contract address.

Documentation

The Lighthouse Book contains information for users and developers.

The Lighthouse team maintains a blog at lighthouse-blog.sigmaprime.io which contains periodical progress updates, roadmap insights and interesting findings.

Branches

Lighthouse maintains two permanent branches:

  • stable: Always points to the latest stable release.
    • This is ideal for most users.
  • unstable: Used for development, contains the latest PRs.
    • Developers should base their PRs on this branch.

Contributing

Lighthouse welcomes contributors.

If you are looking to contribute, please head to the Contributing section of the Lighthouse book.

Contact

The best place for discussion is the Lighthouse Discord server.

Sign up to the Lighthouse Development Updates mailing list for email notifications about releases, network status and other important information.

Encrypt sensitive messages using our PGP key.

Donations

Lighthouse is an open-source project and a public good. Funding public goods is hard and we're grateful for the donations we receive from the community via:

  • Gitcoin Grants.
  • Ethereum address: 0x25c4a76E7d118705e7Ea2e9b7d8C59930d8aCD3b (donation.sigmaprime.eth).