Ethereum consensus client in Rust
Go to file
GeemoCandama 8a599ec7dc
API for LightClientBootstrap, LightClientFinalityUpdate, LightClientOptimisticUpdate and light client events (#3954)
* rebase and add comment

* conditional test

* test

* optimistic chould be working now

* finality should be working now

* try again

* try again

* clippy fix

* add lc bootstrap beacon api

* add lc optimistic/finality update to events

* fmt

* That error isn't occuring on my computer but I think this should fix it

* Add missing test file

* Update light client types to comply with Altair light client spec.

* Fix test compilation

* Support deserializing light client structures for the Bellatrix fork

* Move `get_light_client_bootstrap` logic to `BeaconChain`. `LightClientBootstrap` API to return `ForkVersionedResponse`.

* Misc fixes.
- log cleanup
- move http_api config mutation to `config::get_config` for consistency
- fix light client API responses

* Add light client bootstrap API test and fix existing ones.

* Fix test for `light-client-server` http api config.

* Appease clippy

* Efficiency improvement when retrieving beacon state.

---------

Co-authored-by: Jimmy Chen <jchen.tc@gmail.com>
2023-11-28 17:14:29 +11:00
.cargo Switch allocator to jemalloc (#3697) 2023-01-20 04:19:29 +00:00
.config Reduce nextest threads to 8 (#4846) 2023-10-18 14:19:41 +00:00
.github restore cargo vendor in test suite (#4886) 2023-10-27 10:21:47 +00:00
account_manager Delete deprecated cli flags (#4906) 2023-11-09 15:05:55 +11:00
beacon_node API for LightClientBootstrap, LightClientFinalityUpdate, LightClientOptimisticUpdate and light client events (#3954) 2023-11-28 17:14:29 +11:00
book Add commmand for pruning states (#4835) 2023-11-03 00:12:19 +00:00
boot_node Remove serde derive references (#4830) 2023-10-11 13:01:30 -04:00
common API for LightClientBootstrap, LightClientFinalityUpdate, LightClientOptimisticUpdate and light client events (#3954) 2023-11-28 17:14:29 +11:00
consensus API for LightClientBootstrap, LightClientFinalityUpdate, LightClientOptimisticUpdate and light client events (#3954) 2023-11-28 17:14:29 +11:00
crypto Activate clippy::manual_let_else lint (#4889) 2023-10-31 10:31:02 +00:00
database_manager Always use a separate database for blobs (#4892) 2023-11-09 16:51:36 +11:00
lcli Upgrade to v1.4.0-beta.3 (#4862) 2023-10-21 13:49:27 +00:00
lighthouse API for LightClientBootstrap, LightClientFinalityUpdate, LightClientOptimisticUpdate and light client events (#3954) 2023-11-28 17:14:29 +11:00
scripts Update local testnet doc and parameters (#4749) 2023-11-09 15:06:10 +11:00
slasher Activate clippy::manual_let_else lint (#4889) 2023-10-31 10:31:02 +00:00
testing Broadcast various requests as per #4684 (#4920) 2023-11-27 15:39:37 +11:00
validator_client Remove block-delay-ms (#4956) 2023-11-28 16:00:28 +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
bors.toml Ultra Fast Super Slick CI (#4755) 2023-10-03 06:33:15 +00:00
Cargo.lock Broadcast various requests as per #4684 (#4920) 2023-11-27 15:39:37 +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 Add CARGO_USE_GIT_CLI to the Dockerfile to work around an OOM bug during cross-compiling (#4828) 2023-10-19 05:19:23 +00: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 Fix Rust beta compiler warnings (rustc 1.75.0-beta.1 (782883f60 2023-11-12)) (#4932) 2023-11-18 03:55:11 +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).