{"id":13629819,"url":"https://github.com/skalenetwork/skale-consensus","last_synced_at":"2026-04-09T17:01:59.507Z","repository":{"id":37831795,"uuid":"181028696","full_name":"skalenetwork/skale-consensus","owner":"skalenetwork","description":"If you like this project, please ⭐ it on GitHub!!Running the very core of SKL network, SKALE BFT consensus is universal, modern, modular, high-performance, asynchronous, provably-secure, agent-based Proof-of-Stake blockchain consensus engine in C++ 17. Includes provably secure embedded Oracle.   Used by SKALE elastic blockchains. ","archived":false,"fork":false,"pushed_at":"2025-06-25T12:21:17.000Z","size":31018,"stargazers_count":81,"open_issues_count":35,"forks_count":32,"subscribers_count":10,"default_branch":"develop","last_synced_at":"2025-06-25T13:25:33.900Z","etag":null,"topics":["asynchronous","bft","consensus","consistency","cpp","cryptography","distributed-systems","skale-network"],"latest_commit_sha":null,"homepage":"https://github.com/skalenetwork/skale-consensus/blob/develop/docs/consensus-spec.md","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/skalenetwork.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-12T14:52:38.000Z","updated_at":"2025-06-23T15:04:53.000Z","dependencies_parsed_at":"2023-10-04T22:32:52.995Z","dependency_job_id":"1bbfaba9-c594-4d3e-b0d7-09b0c616e00e","html_url":"https://github.com/skalenetwork/skale-consensus","commit_stats":null,"previous_names":[],"tags_count":51,"template":false,"template_full_name":null,"purl":"pkg:github/skalenetwork/skale-consensus","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalenetwork%2Fskale-consensus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalenetwork%2Fskale-consensus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalenetwork%2Fskale-consensus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalenetwork%2Fskale-consensus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/skalenetwork","download_url":"https://codeload.github.com/skalenetwork/skale-consensus/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/skalenetwork%2Fskale-consensus/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261984648,"owners_count":23240303,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["asynchronous","bft","consensus","consistency","cpp","cryptography","distributed-systems","skale-network"],"created_at":"2024-08-01T22:01:20.728Z","updated_at":"2026-04-09T17:01:59.500Z","avatar_url":"https://github.com/skalenetwork.png","language":"C++","funding_links":[],"categories":["C++"],"sub_categories":[],"readme":"# SKALE Consensus: a Blockchain Consensus engine in C++\n\n[![Discord](https://img.shields.io/discord/534485763354787851.svg)](https://discord.gg/vvUtWJB)\n![Build and test skale-consensus](https://github.com/skalenetwork/skale-consensus/workflows/Build%20and%20test%20skale-consensus/badge.svg)\n\n\n**SKALE Consensus** is an ultra-high-performance blockchain consensus engine written in C++.\n\n## Key Features of SKALE Consensus\n\n- **Over 10,000 TPS**\n- **Byzantine fault tolerant** — no block gaps, and stable performance even with up to 1/3 of nodes offline\n- **Provably secure**\n- **Forkless**\n- **Single-block finality** — blocks are immediately finalized upon commitment\n- **Resilient to arbitrarily long network disruptions and delays** through an asynchronous network model\n- **Multiple block proposers per block** — ensures protocol stability even when some proposers are offline\n- **Secure against MEV and front-running** — provably resistant to manipulation\n\n\nRead the spec for more exciting features [https://docs.skale.network/technology/consensus-spec ](https://github.com/skalenetwork/skale-consensus/blob/develop/docs/consensus-spec.md)\n\nSee visualization of live conseneus https://www.youtube.com/watch?v=0NGCSRjjPkk\n\n\n## Building from Source\n\nThe preferred build and execution environment is **Ubuntu 22.04**.\n\nLater versions of Ubuntu may work, but they are not officially tested.\n\n### 1. Install packages\n\n```bash\nsudo add-apt-repository ppa:ubuntu-toolchain-r/test\nsudo apt update\nsudo apt install -yq libprocps-dev gcc-11 g++-11 valgrind gawk sed libffi-dev ccache \\\n    libgoogle-perftools-dev yasm texinfo autotools-dev automake \\\n    python3 python3-pip cmake libtool build-essential pkg-config autoconf wget \\\n    git libargtable2-dev libmicrohttpd-dev libhiredis-dev redis-server openssl \\\n    libssl-dev doxygen libgcrypt20-dev\n```\n\n\n### 2. Clone the repo   \n\n```bash\ngit clone --recurse-submodules https://github.com/skalenetwork/skale-consensus.git\n```\n\n\n###  3. Build dependencies in debug mode\n```bash        \ncd skale-consensus/deps \u0026\u0026 ./build.sh DEBUG=1\n```         \n\n###  4. Configure the CMake build in Debug M    ode.\n\n```   \ncd .. \u0026\u0026 cmake . -Bbuild -DCMAKE_BUILD_TYPE=Debug\n```\n\n###  5.  Build All Targets Using All Available CPU Code\n\n```\ncmake --build build -- -j$(nproc) \n```\n\n---\n\n## Testing\n\nSKALE Consensus includes comprehensive test suites covering unit tests, integration tests, and end-to-end scenarios.\n\n### Quick Test Run\n\nAfter building, you can run a basic test:\n\n```bash\ncd test/onenode\nsudo NO_ULIMIT_CHECK=1 TEST_TIME_S=60 TEST_TRANSACTIONS_PER_BLOCK=10 ../../build/consensust [consensus-basic]\n```\n\n### Running Specific Tests\n\nTests are organized with a multi-dimensional tagging system:\n\n```bash\n# Run RLP unit tests that only test correctness (ignores safety and performance tests)\n./build/consensust [rlp][unit][correctness]\n\n# Run all crypto tests\n./build/consensust [crypto]\n\n# Run performance tests\n./build/consensust [performance]\n```\n\n### Multi-Node Testing\n\nFor more detailed testing scenarios, including 4-node and 16-node tests with SGX simulation, see our comprehensive **[Testing Guide](TESTING.md)**.\n\nThe testing guide covers:\n- Detailed test organization and tagging\n- SGX simulation setup with Docker\n- Performance testing procedures\n\n\n\n## Contributing\n\n**If you have any questions please ask our development community on [Discord](https://discord.gg/vvUtWJB).**\n\n[![Discord](https://img.shields.io/discord/534485763354787851.svg)](https://discord.gg/vvUtWJB)\n\n## License\n\n[![License](https://img.shields.io/github/license/skalenetwork/skale-consensus.svg)](LICENSE)\n\nCopyright (C) 2018-present SKALE Labs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskalenetwork%2Fskale-consensus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fskalenetwork%2Fskale-consensus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fskalenetwork%2Fskale-consensus/lists"}