Ethereum consensus client in Rust
Go to file
Paul Hauner b1679af191 Create new "transition" mod, add untested fn
Untested fn is process_ffg_deposits. Will add tests now.
2018-07-12 16:41:44 +10:00
src Create new "transition" mod, add untested fn 2018-07-12 16:41:44 +10:00
tests Initial commit 2018-07-06 17:54:07 +10:00
.gitignore Initial commit 2018-07-06 17:54:07 +10:00
.gitmodules Removed parity submod, use parity-common for RLP 2018-07-12 15:10:02 +10:00
.travis.yml Add travis.yml 2018-07-12 15:04:02 +10:00
Cargo.toml Downgrade rand to suit bls repo 2018-07-12 15:37:36 +10:00
README.md Add travis logo to readme 2018-07-12 15:01:28 +10:00

Rust Beacon Chain

Build Status

A work-in-progress implementation of the Ethereum beacon_chain in Rust.

It is an implementation of the Full PoS Casper chain v2 spec and is also largely based upon the ethereum/beacon_chain repo.

Usage

Presently this is just a bunch of data structures and some tests.

$ git clone --recurse-submodules <url>
$ cd rust_beacon_chain
$ cargo test

Note: don't forget to clone/pull with respect to submodules. Parity is included as a submodule so we can use their handy RLP module without compiling all the things.

Contact

This repo is presently authored by Paul Hauner (@paulhauner) as a Sigma Prime project.

Best place for discussion is probably the ethereum/sharding gitter.

TODO:

  • Implement crystallized state.
  • Implement state transition.
  • Implement integration tests (some unit tests are implemented now).
  • Implement RLP serialization for BLS signatures.
  • Implement RLP serialization for all main structs.
  • Ensure bls library is legit (i.e., functioning and secure).
  • Implement the things, optimise them & scale to 1000000000 nodes.