SKALE Consensus is an ultra-high-performance blockchain consensus engine written in C++.
- Over 10,000 TPS
- Byzantine fault tolerant — no block gaps, and stable performance even with up to 1/3 of nodes offline
- Provably secure
- Forkless
- Single-block finality — blocks are immediately finalized upon commitment
- Resilient to arbitrarily long network disruptions and delays through an asynchronous network model
- Multiple block proposers per block — ensures protocol stability even when some proposers are offline
- Secure against MEV and front-running — provably resistant to manipulation
Read the spec for more exciting features https://docs.skale.network/technology/consensus-spec
See visualization of live conseneus https://www.youtube.com/watch?v=0NGCSRjjPkk
The preferred build and execution environment is Ubuntu 22.04.
Later versions of Ubuntu may work, but they are not officially tested.
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install -yq libprocps-dev gcc-11 g++-11 valgrind gawk sed libffi-dev ccache \
libgoogle-perftools-dev 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-devgit clone --recurse-submodules https://github.com/skalenetwork/skale-consensus.gitcd skale-consensus/deps && ./build.sh DEBUG=1cd .. && cmake . -Bbuild -DCMAKE_BUILD_TYPE=Debug
cmake --build build -- -j$(nproc)
SKALE Consensus includes comprehensive test suites covering unit tests, integration tests, and end-to-end scenarios.
After building, you can run a basic test:
cd test/onenode
sudo NO_ULIMIT_CHECK=1 TEST_TIME_S=60 TEST_TRANSACTIONS_PER_BLOCK=10 ../../build/consensust [consensus-basic]Tests are organized with a multi-dimensional tagging system:
# Run RLP unit tests that only test correctness (ignores safety and performance tests)
./build/consensust [rlp][unit][correctness]
# Run all crypto tests
./build/consensust [crypto]
# Run performance tests
./build/consensust [performance]For more detailed testing scenarios, including 4-node and 16-node tests with SGX simulation, see our comprehensive Testing Guide.
The testing guide covers:
- Detailed test organization and tagging
- SGX simulation setup with Docker
- Performance testing procedures
If you have any questions please ask our development community on Discord.
Copyright (C) 2018-present SKALE Labs