• Stars
    star
    2,722
  • Rank 16,063 (Top 0.4 %)
  • Language
    Rust
  • License
    Apache License 2.0
  • Created almost 6 years ago
  • Updated 16 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,321
star
2

beacon-fuzz

Differential Fuzzer for Ethereum 2.0
Rust
154
star
3

discv5

Rust implementation of Discovery v5
Rust
142
star
4

lighthouse-metrics

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

public-audits

Collection of public security reviews
115
star
6

blockprint

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

superstruct

Rust library for versioned data types
Rust
62
star
8

enr

Ethereum Node Record
Rust
50
star
9

eleel

Execution layer multiplexer
Rust
49
star
10

siren

User interface for Lighthouse
TypeScript
44
star
11

lighthouse-docker

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

milagro_bls

BLS12-381 cryptography using Apache Milagro
Rust
25
star
13

cbc-casper-js

JS implementation of Vlad Zamfir's CBC Casper TFG
JavaScript
24
star
14

positions-vacant

Vacant Positions at Sigma Prime
23
star
15

presentations

Collection of presentations given by Sigma Prime
17
star
16

ecies-parity

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

opcode-purity

A document describing purity detection in EVM opcode
15
star
18

tree_hash

SSZ-compatible tree hash implementation optimised for speed and security
Rust
15
star
19

metastruct

Abstractions for iterating and mapping over struct fields
Rust
14
star
20

ethereum_hashing

Hashing primitives used in Ethereum
Rust
11
star
21

ethereum_ssz

SimpleSerialize (SSZ) implementation optimised for speed and security
Rust
9
star
22

rust-bls-remote-signer

Remote Signer API for BLS12-381
9
star
23

ethereum_serde_utils

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

gossipsub-testground

Testground plans for gossipsub
Rust
7
star
25

milhouse

Persistent binary merkle tree
Rust
6
star
26

serde_array_query

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

serialization_sandbox

Sandbox for testing different serialization mechanisms
Python
5
star
28

serenity-benches

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

verified-consensus

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

shuffling_sandbox

A sandbox for testing shuffling functions
Python
3
star
31

eth-npg

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

lighthouse-tg-bot

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

eth2.0-resources

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

beacon-fuzz-corpora

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

unsafe-eth2-deposit-contract

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

E2E

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

sha2_fixed_64

Optimised SHA256 for 64 byte messages
Rust
2
star
38

havven-audit

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

ethereum-pubkey-collector

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

audit-horizon-state-token-sale

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

crate_template

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

lighthouse-merge-f2f

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

lighthouse-kintsugi

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

ssz_types

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

polkafuzz

Fuzzing Framework for Polkadot
Rust
1
star
46

lighthouse-pm

Lighthouse Project Management
1
star
47

reduced_tree_fork_choice

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

aave-public-tests

Public testing artifacts for Aave reviews
Solidity
1
star