Skale-consensus is an implementation of SKALE provable consensus spec as described here https://docs.skale.network/technology/consensus-spec
Key features of of SKALE consensus
- provably secure
- forkless
- single block finality - blocks become immediately finalized once committed.
- survives under arbitrarily long network distruptions and delays by implementing asynchronous network model
- multiple block proposers per block provide protocol stability even if some block proposers are down
Read the spec for more exciting features.
The consensus is under active improvement and research.
SKALE consensus has been built and tested on Ubuntu 18.04 and later.
The preferred build and execution environment is currenty Ubuntu 22.04.
Ensure that the required packages are installed by executing:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install -yq libprocps-dev gcc-9 g++-9 valgrind gawk sed libffi-dev ccache \
libgoogle-perftools-dev flex bison yasm texinfo autotools-dev automake \
python3 python3-pip cmake libtool build-essential pkg-config autoconf wget \
git libargtable2-dev libmicrohttpd-dev libhiredis-dev redis-server openssl \
libssl-dev doxygen libgcrypt20-dev
Steps to build from source:
# clone repo
git clone --recurse-submodules https://github.com/skalenetwork/skale-consensus.git
# build dependencies
cd scripts && ./build_deps.sh
# Configure the Cmake build.
cd .. && cmake . -Bbuild
# now run hunter bug workaround
mkdir -p "${HOME}"/.hunter/_Base/Download/crc32c/1.0.5/dc7fa8c/ && wget -O "${HOME}"/.hunter/_Base/Download/crc32c/1.0.5/dc7fa8c/hunter-1.0.5.tar.gz https://github.com/hunter-packages/crc32c/archive/refs/tags/hunter-1.0.5.tar.gz
# now build all targets using all available CPU cores
cmake --build build -- -j$(nproc)
Navigate to the testing directories and run ./consensusd .
- libBLS by SKALE Labs
The SKALE consensus is still in active development and contains bugs. This software should be regarded as alpha software. Development is still subject to competing the specification, security hardening, further testing, and breaking changes. This consensus engine has not yet been reviewed or audited for security. Please see SECURITY.md for reporting policies.
If you have any questions please ask our development community on Discord.
Copyright (C) 2018-present SKALE Labs