Update README
This commit is contained in:
parent
dc18765512
commit
2d23cd5b52
51
README.md
51
README.md
@ -1,20 +1,55 @@
|
|||||||
# Lighthouse
|
# Lighthouse: an Ethereum 2.0-only client
|
||||||
|
|
||||||
[![Build Status](https://travis-ci.org/sigp/lighthouse.svg?branch=master)](https://travis-ci.org/sigp/lighthouse)
|
[![Build Status](https://travis-ci.org/sigp/lighthouse.svg?branch=master)](https://travis-ci.org/sigp/lighthouse)
|
||||||
|
|
||||||
A **work-in-progress** implementation of the Ethereum beacon_chain in Rust.
|
A **work-in-progress** implementation of the Ethereum 2.0 Beacon Chain in Rust.
|
||||||
|
|
||||||
It is an implementation of the [Full PoS Casper chain
|
It is an implementation of the [Full PoS Casper chain
|
||||||
v2](https://notes.ethereum.org/SCIg8AH5SA-O4C1G1LYZHQ?view) spec and is also
|
v2](https://notes.ethereum.org/SCIg8AH5SA-O4C1G1LYZHQ?view) spec and is also
|
||||||
largely based upon the
|
largely based upon the
|
||||||
[ethereum/beacon_chain](https://github.com/ethereum/beacon_chain) repo.
|
[ethereum/beacon_chain](https://github.com/ethereum/beacon_chain) repo.
|
||||||
|
|
||||||
Thanks to Parity for their excellent crates (e.g., RLP, ethereum_types).
|
**NOTE: the cryptography libraries used in this implementation are very
|
||||||
|
experimental and all cryptography should be assumed to be insecure.**
|
||||||
|
|
||||||
|
## Motivation
|
||||||
|
|
||||||
|
The objective of this project is to build a purely Ethereum 2.0 client from
|
||||||
|
the ground up.
|
||||||
|
|
||||||
|
As such, the early days of Lighthouse will be very much a research effort -- it
|
||||||
|
will be evolving on the bleeding-edge of specification without requiring to
|
||||||
|
maintain prod-grade stability or backwards-compatibility for the existing PoW
|
||||||
|
chain.
|
||||||
|
|
||||||
|
Whilst the Beacon Chain relies upon the PoW chain for block hashes, Lighthouse
|
||||||
|
will need to run alongside an existing client (e.g., Geth, Parity Ethereum),
|
||||||
|
only being able to stand by itself once the PoW chain has been deprecated.
|
||||||
|
|
||||||
|
Lighthouse aims to assist in advancing the progress of the following Ethereum
|
||||||
|
technologies:
|
||||||
|
|
||||||
|
- Proof-of-Stake
|
||||||
|
- Sharding
|
||||||
|
- EVM alternatives (e.g., WASM)
|
||||||
|
- Scalable, topic-based P2P networks (e.g., libp2p-gossipsub)
|
||||||
|
- Scalable signature schemes (e.g, BLS aggregates)
|
||||||
|
|
||||||
|
## Progress
|
||||||
|
|
||||||
|
As of 02/08/2018, there is a basic libp2p implementation alongside a series of
|
||||||
|
state objects and state transition functions. There are no syncing capabilities.
|
||||||
|
|
||||||
|
### Roadmap
|
||||||
|
|
||||||
|
- [ ] Upgrade to the v2.1 spec.
|
||||||
|
- [ ] Implement local storage (e.g., RocksDB, LevelDB).
|
||||||
|
- [ ] Implement a syncing procedure.
|
||||||
|
- [ ] Align to whichever P2P spec is chosen for the Beacon Chain by the EF.
|
||||||
|
- [ ] Provide validation services (participate in consensus)
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Presently this is proof-of-concept without p2p or any functionality you'd
|
|
||||||
expect from Parity or Geth.
|
|
||||||
You can run the tests like this:
|
You can run the tests like this:
|
||||||
|
|
||||||
```
|
```
|
||||||
@ -30,9 +65,3 @@ project.
|
|||||||
|
|
||||||
Best place for discussion is probably the [ethereum/sharding
|
Best place for discussion is probably the [ethereum/sharding
|
||||||
gitter](https://gitter.im/ethereum/sharding).
|
gitter](https://gitter.im/ethereum/sharding).
|
||||||
|
|
||||||
## TODO:
|
|
||||||
|
|
||||||
- [X] Implement state transitions up-to-par with the Python reference implementation.
|
|
||||||
- [ ] Ensure bls library is secure.
|
|
||||||
- [ ] Implement aggregate pub keys for BLS.
|
|
||||||
|
Loading…
Reference in New Issue
Block a user