Open Source Polkadot Stack <!-- omit in toc -->
This page aims to provide an overview of the open-source Polkadot Tech Stack.
This is a living document, and we rely on everyone to contribute and help maintain it. Please feel free to make edits and additions via pull requests. We apologize if we missed your project!
The Polkadot Tech Stack is a subset of the Web 3.0 Tech Stack, which consists of the open-source technologies contributing to and relying on Polkadot. It is meant to be used for decentralized application (Dapp) development within numerous verticals, including DeFi, Gaming, Provenance and many others not pictured below.
|------|--------|------------|| DeFi | Gaming | Provenance ||______|________|____________| Dapps|--------------------------/-|| Explorers, Wallets / ||------------------------/---|| Tools, Apis, Languages/ ||----------------------/-----|| 2nd layer protocols / ||--------------------/-------|| Chains / other ||------------------/--- --|| *Polkadot* | tech ||------------------\---------|| P2P, Crypto, Wasm \ ||--------------------\-------|Layers of Polkadot Stack
Section titled “Layers of Polkadot Stack”In the below sections, you can find a list of different layers of the Polkadot Stack.
Maintenance Status:
- 🟢 Actively maintained
- 🟡 Stale (no activity on the main branch for one month)
- ⚪ Unmaintained (no activity on the main branch for more than three months)
Wallets
Section titled “Wallets”User Interface
Section titled “User Interface”Tools, APIs, and Languages
Section titled “Tools, APIs, and Languages”ink! Smart Contracts
Section titled “ink! Smart Contracts”Chains and Pallets
Section titled “Chains and Pallets”| Components | Existing projects | Potentially interesting projects |
|---|---|---|
| Rust | Substrate 🟢, Cumulus 🟢 | |
| C++ | Kagome ⚪, Mayon ⚪ | |
| Go | Gossamer ⚪ | |
| Java | Fruzhin ⚪, Java Host Research ⚪ | |
| AssemblyScript | ||
| Light Client | smoldot 🟢, Substrate Connect ⚪, C++ Polkadot Light Client ⚪ | |
| Testing | Polkadot Conformance ⚪, Polkafuzz ⚪ |
Network Maintenance Tools
Section titled “Network Maintenance Tools”| Components | Existing projects | Potentially interesting projects |
|---|---|---|
| Secure validator setup | Polkadot Validation Node Ansible Setup ⚪, W3F Polkadot Validator Setup ⚪, polkadot-ansible ⚪ | |
| High availability setup | Archipel ⚪, Polkadot Failover Mechanism ⚪, Datagen ⚪, High Availability Validator Setup ⚪ | |
| Load Balanced Endpoints | terragrunt-polkadot ⚪, Geometry Labs' Substrate Meta repo ⚪ | |
| Deployment Tools | Polkadot Package Manager ⚪, PolkaHub ⚪, Avado ⚪, Polkadot Deployer ⚪, Unified Collator Deployment ⚪ | |
| Validator monitoring | ONE-T 🟢, SubVT 🟡, P.A.N.I.C. ⚪, Polkalert ⚪, B-Harvest ⚪, nmonpolkadot ⚪, Polkadot-K8s-Monitor ⚪, Polkadot-Watcher ⚪, 1KV Telegram Bot ⚪ | |
| Validator payout management | Substrate validator auto payout ⚪, Polkadot Payouts ⚪, staking-payouts CLI ⚪, Payctl ⚪, crunch 🟢 | |
| Staking Miner | Staking Miner v2 🟢 | |
| Nominator Tools | Validator Selection ⚪, Polkanalyzer ⚪, Polkanalyzer-app ⚪ |
Signatures
Section titled “Signatures”| Components | Existing projects | Potentially interesting projects |
|---|---|---|
| SR25519 | rust 🟢(contains partial bindings for C, JavaScript, and Python), .Net bindings ⚪, C ⚪(old), C ⚪(new), C/C++ ⚪, C# ⚪, Go ⚪, java ⚪, PHP ⚪ | |
| Signature Aggregation | apk-proofs ⚪ | |
| Distributed key generation (DKG) or management | keygen.rs ⚪, Secure Wallet Origin Distribution (SWORD) ⚪ | |
| Validator HSMs | Zondax Remote Signer ⚪ | |
| MPC | Orochi Network ⚪ |
Consensus
Section titled “Consensus”| Components | Existing projects | Potentially interesting projects |
|---|---|---|
| PoC | Spartan ⚪ | |
| PoW | PoW consensus for Substrate 🟢, RandomX ⚪, Sha3 PoW ⚪ | |
| Block production | BABE 🟢, Aura 🟢 | |
| Finality | GRANDPA 🟢, AlephBFT ⚪ | |
| Other | Nimbus: Upgradeable consensus framework ⚪ |
Networking
Section titled “Networking”| Components | Existing projects | Potentially interesting projects |
|---|---|---|
| SCALE Codec | Rust 🟢, TypeScript ⚪, Python ⚪, Golang Chainsafe ⚪, Golang Itering 🟡, C ⚪, C++ ⚪, JavaScript 🟢, AssemblyScript ⚪, Haskell 🟡, Java ⚪, Ruby ⚪, Dart ⚪, Swift ⚪, scale-codec-swift ⚪, scale-codec-kotlin ⚪, PHP 🟢, JavaScript by Soramitsu ⚪, Scale Codec Comparator ⚪, ScaleCodec.sol by Darwinia ⚪, Dotscale ⚪ | |
| Networking Framework | libp2p 🟢SwarmNL ⚪ | |
| DHT Crawler | Go ⚪, Kotlin ⚪ | |
| RPC Tor-like access | WhiteNoise ⚪ |
Primitives
Section titled “Primitives”| Components | Existing projects | Potentially interesting projects |
|---|---|---|
| Storage | Merkle Tree DB ⚪ | |
| Merkle Proofs | Solidity Trie Verifier 🟢 |
Contributing
Section titled “Contributing”Pull requests, issues, or other contributions from the community are encouraged! You can not only add specific projects, but also potentially interesting fields/areas which are currently missing in the tech stack.
All technologies listed above need to be open-source. Ideally, the links lead directly to the code.
Note: You will need a GitHub account to suggest changes or open issues. If you do not have one, you may sign up for free.