Skip to content
Snippets Groups Projects
Wei Tang's avatar
Wei Tang authored
* [WIP] support multiple validators in an attestation and rework runtime

* [WIP] More fixes to nostd and basic new AttestationRecord

* [WIP] finish runtime integration

* [WIP] Fix deps

* [WIP] some compile fixes

* Make consensus compile

* Make everything compile

* Fix authoring

* Fix doctest complain
aa75d36a

Substrate Shasper

Note: This is an experimental project. Everything will break, and it may disappear without any notice!

This is an implementation of Shasper beacon chain using the Substrate framework.

Status

Currently we have an implementation of Shasper state transition validation algorithms. This is then combined with LMD-GHOST consensus engine to provide a simple Substrate node implementation with block authoring.

Get Started

To build the project, first install rustup, wasm-gc:

rustup update stable
rustup update nightly
rustup target add wasm32-unknown-unknown --toolchain nightly
cargo +nightly install --git https://github.com/alexcrichton/wasm-gc

Additionally, install clang and llvm, e.g. via the package manager for your distribution.

After that, clone the repo and compile the WebAssembly runtime:

git clone https://github.com/paritytech/shasper.git
cd shasper && ./build.sh

You can then execute the client:

cargo run -- --dev

The client will run and then start proposing and importing blocks.

License

Licensed under GPLv3.