Skip to content
This repository was archived by the owner on Jan 12, 2022. It is now read-only.
/ shasper Public archive

Parity Shasper beacon chain implementation using the Substrate framework.

License

Notifications You must be signed in to change notification settings

paritytech/shasper

Folders and files

NameName
Last commit message
Last commit date
Dec 5, 2019
Dec 18, 2019
Sep 13, 2019
Nov 6, 2019
Sep 3, 2019
Oct 29, 2019
Dec 4, 2019
Nov 24, 2019
Dec 5, 2019
Nov 29, 2019
May 25, 2019
Mar 25, 2019
Jun 10, 2020
Dec 5, 2019
Nov 23, 2021
Dec 5, 2019
Dec 4, 2019
Sep 30, 2018
Jul 22, 2019
Sep 27, 2019

Repository files navigation

Parity Shasper

crates.io Documentation

This is an implementation of Serenity beacon chain by Parity Technologies. To learn more about Serenity and Ethereum's sharding plan, see the sharding FAQ and the research compendium.

Parity Shasper consists of a core library beacon which handles beacon chain state transition logic, a client built on Substrate framework (in substrate folder), and a lightweight client built from ground up (in blockchain folder). The substrate client and the blockchain client shares the core library, but operates independently.

To build the client, you need to have Rust installed. Other dependencies required including pkgconfig, libudev, openssl, cmake, clang.

substrate client

The substrate client is currently being reworked at this moment. Stay tuned!

blockchain client

The blockchain client uses spec archive LMD-GHOST consensus and Serenity beacon v0.8 runtime. The client implements a basic in-memory backend and networking stack based on libp2p. It also contains basic validator logic and can participate in beacon chain proposing and attestation.

To build the blockchain client:

cd ./blockchain && cargo run --release -- --author

FAQ

Why common caching strategies for beacon and LMD-GHOST are not yet implemented?

Internally we made the decision that we will strictly follow the beacon chain specification for now, and implement optimizations after the specification is frozen. This is because the specification still changes a lot, and we worry that optimizations we make right now will make upgrading to a newer version of the specification much harder.

License

Licensed under GPLv3.

About

Parity Shasper beacon chain implementation using the Substrate framework.

Resources

License

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published