Ethereum consensus client in Rust
Go to file
2018-07-10 19:08:36 +10:00
parity@aa67bd5d00 Initial commit 2018-07-06 17:54:07 +10:00
src Add shuffling fn for state_transition 2018-07-10 19:08:36 +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 Initial commit 2018-07-06 17:54:07 +10:00
Cargo.toml Add blake2s hash type 2018-07-09 12:00:58 +10:00
README.md Update README 2018-07-09 16:54:20 +10:00

Rust Beacon Chain

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.