Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/paritytech/shasper
Parity Shasper beacon chain implementation using the Substrate framework.
https://github.com/paritytech/shasper
Last synced: about 1 month ago
JSON representation
Parity Shasper beacon chain implementation using the Substrate framework.
- Host: GitHub
- URL: https://github.com/paritytech/shasper
- Owner: paritytech
- License: gpl-3.0
- Archived: true
- Created: 2018-09-18T11:35:30.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2022-01-07T21:44:25.000Z (almost 3 years ago)
- Last Synced: 2024-08-02T03:07:38.720Z (4 months ago)
- Language: Rust
- Homepage:
- Size: 4.15 MB
- Stars: 197
- Watchers: 27
- Forks: 23
- Open Issues: 21
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Codeowners: CODEOWNERS
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-blockchain-rust - Shasper
- awesome-substrate - shasper, Shasper beacon chain implementation using the Substrate framework
- awesome-substrate - shasper, Shasper beacon chain implementation using the Substrate framework
README
# Parity Shasper
[![crates.io](https://img.shields.io/crates/v/beacon.svg)](https://crates.io/crates/beacon)
[![Documentation](https://docs.rs/beacon/badge.svg)](https://docs.rs/beacon)This is an implementation of
[Serenity](https://github.com/ethereum/eth2.0-specs) beacon chain by Parity
Technologies. To learn more about Serenity and Ethereum's sharding plan, see the
[sharding FAQ](https://github.com/ethereum/wiki/wiki/Sharding-FAQ) and the
[research compendium](https://notes.ethereum.org/s/H1PGqDhpm).Parity Shasper consists of a core library `beacon` which handles beacon chain
state transition logic, a client built on
[Substrate](https://github.com/paritytech/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](https://www.rust-lang.org/)
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:
```bash
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.