Open Source Polkadot Stack ¶
Do your research before using open-source tools
The tools listed here are open-source and are linked directly to their source code. Before using these tools to build your projects, always do your research and be aware of scams.
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!
- About
- Layers of Polkadot Stack
- Wallets
- User Interface
- Tools, APIs, and Languages
- ink! Smart Contracts
- Chains and Pallets
- Host
- Network Maintenance Tools
- Signatures
- Consensus
- Networking
- Primitives
- Contributing
About¶
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¶
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¶
User Interface¶
Tools, APIs, and Languages¶
ink! Smart Contracts¶
Chains and Pallets¶
Host¶
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¶
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¶
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¶
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¶
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 ⚪, ScaleCodec.sol by Snowfork 🟢, Dotscale ⚪ | |
Networking Framework | libp2p ⚪SwarmNL 🟢 | |
DHT Crawler | Go ⚪, Kotlin ⚪ | |
RPC Tor-like access | WhiteNoise ⚪ |
Primitives¶
Components | Existing projects | Potentially interesting projects |
---|---|---|
Storage | Merkle Tree DB ⚪ | |
Merkle Proofs | Solidity Trie Verifier 🟡 |
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.