• Stars
    star
    2,916
  • Rank 15,553 (Top 0.4 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created over 6 years ago
  • Updated 29 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Ethereum consensus client in Rust

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 periodic 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).

More Repositories

1

solidity-security-blog

Comprehensive list of known attack vectors and common anti-patterns
1,369
star
2

discv5

Rust implementation of Discovery v5
Rust
159
star
3

beacon-fuzz

Differential Fuzzer for Ethereum 2.0
Rust
157
star
4

lighthouse-metrics

A docker-compose with Grafana + Prometheus for monitoring Lighthouse
Dockerfile
141
star
5

public-audits

Collection of public security reviews
130
star
6

blockprint

Block fingerprinting for the beacon chain, for client diversity metrics
Python
89
star
7

superstruct

Rust library for versioned data types
Rust
65
star
8

enr

Ethereum Node Record
Rust
59
star
9

eleel

Execution layer multiplexer
Rust
50
star
10

siren

User interface for Lighthouse
TypeScript
48
star
11

lighthouse-docker

A docker-compose environment for running the Lighthouse Eth2 client
Shell
34
star
12

positions-vacant

Vacant Positions at Sigma Prime
30
star
13

milagro_bls

BLS12-381 cryptography using Apache Milagro
Rust
27
star
14

cbc-casper-js

JS implementation of Vlad Zamfir's CBC Casper TFG
JavaScript
26
star
15

multiproof

Generating Inputs for OZ's Multiproof
Solidity
26
star
16

milhouse

Persistent binary merkle tree
Rust
18
star
17

presentations

Collection of presentations given by Sigma Prime
18
star
18

ecies-parity

JavaScript Elliptic Curve Integrated Encryption Scheme (ECIES) Library - Based off Parity's implementation
JavaScript
17
star
19

tree_hash

SSZ-compatible tree hash implementation optimised for speed and security
Rust
16
star
20

opcode-purity

A document describing purity detection in EVM opcode
15
star
21

metastruct

Abstractions for iterating and mapping over struct fields
Rust
15
star
22

ethereum_ssz

SimpleSerialize (SSZ) implementation optimised for speed and security
Rust
13
star
23

ethereum_hashing

Hashing primitives used in Ethereum
Rust
11
star
24

rust-bls-remote-signer

Remote Signer API for BLS12-381
9
star
25

ethereum_serde_utils

Serialization and deserialization utilities for JSON representations of Ethereum types
Rust
8
star
26

gossipsub-testground

Testground plans for gossipsub
Rust
7
star
27

serde_array_query

Serde deserialization format for HTTP query string arrays
Rust
5
star
28

serialization_sandbox

Sandbox for testing different serialization mechanisms
Python
5
star
29

verified-consensus

Formalisation of Ethereum consensus in Isabelle/HOL
Isabelle
3
star
30

eth-npg

National Portrait Gallery generates ethereum network profiles for testing
Rust
3
star
31

lighthouse-tg-bot

A Telegram bot for pushing notifications about Lighthouse validator performance
Python
3
star
32

beacon-fuzz-corpora

Corpora for the beacon-fuzz repository (Differential fuzzer for Ethereum 2.0)
3
star
33

serenity-benches

Results from benchmarking Serenity state processing with Lighthouse.
3
star
34

unsafe-eth2-deposit-contract

An UNSAFE deposit contract for testing Lighthouse. DO NOT USE.
Python
3
star
35

shuffling_sandbox

A sandbox for testing shuffling functions
Python
3
star
36

eth2.0-resources

A collection of informal resources generated during the development of sigp/lightouse
Python
3
star
37

E2E

Ethereum 2 Ethereum - Encrypted Ethereum Messaging Dapp
JavaScript
2
star
38

sha2_fixed_64

Optimised SHA256 for 64 byte messages
Rust
2
star
39

havven-audit

Security review of the Havven contracts (not including token-sale contracts)
Python
2
star
40

ethereum-pubkey-collector

Collects Ethereum public keys from signed transactions on the chain.
JavaScript
2
star
41

audit-horizon-state-token-sale

Public audit of the Horizon State token sale smart contracts
JavaScript
1
star
42

crate_template

Rust crate template for SigP code published on crates.io
1
star
43

lighthouse-merge-f2f

Resources used during the October 2021 merge interop
Shell
1
star
44

lighthouse-kintsugi

Tracks the progress of Lighthouse on the Kintsugi interop effort
Shell
1
star
45

polkafuzz

Fuzzing Framework for Polkadot
Rust
1
star
46

ssz_types

List, vector and bitfield types for SSZ
Rust
1
star
47

lighthouse-pm

Lighthouse Project Management
1
star
48

reduced_tree_fork_choice

LMD GHOST fork choice implementation, conceptualized by Nate Rush
Rust
1
star
49

aave-public-tests

Public testing artifacts for Aave reviews
Solidity
1
star