2018-07-06 07:58:22 +00:00
|
|
|
# Rust Beacon Chain
|
2018-07-06 07:54:07 +00:00
|
|
|
|
2018-07-06 07:58:22 +00:00
|
|
|
A **work-in-progress** implementation of the Ethereum beacon_chain in Rust.
|
2018-07-06 07:54:07 +00:00
|
|
|
|
2018-07-06 07:55:44 +00:00
|
|
|
It is an implementation of the [Full PoS Casper chain
|
|
|
|
v2](https://notes.ethereum.org/SCIg8AH5SA-O4C1G1LYZHQ?view) spec and is also
|
2018-07-06 07:54:07 +00:00
|
|
|
largely based upon the
|
|
|
|
[ethereum/beacon_chain](https://github.com/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](https://gitter.im/ethereum/sharding).
|
|
|
|
|
|
|
|
## TODO:
|
|
|
|
|
2018-07-09 05:46:05 +00:00
|
|
|
- [x] Implement crystallized state.
|
2018-07-06 07:59:34 +00:00
|
|
|
- [ ] Implement state transition.
|
|
|
|
- [ ] Implement integration tests (some unit tests are implemented now).
|
2018-07-09 06:54:20 +00:00
|
|
|
- [ ] Implement RLP serialization for BLS signatures.
|
|
|
|
- [x] Implement RLP serialization for all main structs.
|
2018-07-06 07:59:34 +00:00
|
|
|
- [ ] Ensure bls library is legit (i.e., functioning and secure).
|
|
|
|
- [ ] Implement the things, optimise them & scale to 1000000000 nodes.
|