Skip to content

Latest commit

 

History

History
202 lines (164 loc) · 30.8 KB

polkadot_stack.md

File metadata and controls

202 lines (164 loc) · 30.8 KB

Open Source Polkadot Stack [WIP!]

The goal of this page is to provide an overview of the open-source Polkadot/Kusama Tech Stack.

This is a living document and we are relying on our community to contribute to it and help maintain it. Please feel free to make edits and additions via pull requests. We apologize if we missed your project!


📋 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, Kusama and Substrate. 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 \        |
|--------------------\-------|

🔋 Funding

The Web3 Foundation's Grants Program is focused on funding development work to build out all layers of the Polkadot Tech Stack.

To get a better understanding of the projects we consider most relevant, you can explore a detailed breakdown of the various layers of the stack below. We divide each of the layers into the various components which we feel are most important. We then highlight some of the existing projects that address these components as well as some potentially interesting projects that we would like to fund.

We typically like to fund more than one project for each component. So, if you see a component with 1 or 0 existing projects, it's likely that we would consider an application in this area. In order to consider funding a proposal that addresses a component with many existing projects, we would need to be persuaded that yours brings unique value to the ecosystem. Such value could come in many forms including but not limited to differentiated functionality, better user experience, the attraction of new users to the ecosystem or a high likelihood that the technology would be maintained for a long period of time.

By describing our areas of priority in detail, we do not wish to preclude grant applications that address different areas that we may not have thought of. We would like to fund all projects that bring value to the ecosystem. If you are considering applying for a project and are not sure if it falls within our areas of interest, please get in touch with us to discuss it.

📑 Layers of Polkadot Stack

In the below sections you can find a list of different layers of the Polkadot Stack.

📱 User Interface

Components Existing projects Potentially interesting projects
Desktop/Web Wallets Talisman Web Application, AirGap, Sakura User-friendly Wallet based on the Recovery Pallet, Web wallets focused on user-onboarding (e.g. using localStorage)
Browser Extensions Polkadot{.js}, Polkadot-Js-Plus-Extension, SubWallet-Extension, Doter, Enzyme, Speckle OS Sign-in with your polkadot, kusama, etc. account.
Mobile Wallets Lunie, Polkawallet, Parity Signer, imToken, Fearless Wallet Android, Fearless Wallet iOS, Stylo, Nova Wallet, Fractapp
Burner Wallets/Faucet KodaDot, Astar Faucet Bot Faucet (a sybil-resistant way to receive free tokens)
CLI Wallet Subwallet, Proxy-hot-wallet
Multisignature Wallets Subscan Multisig UI - React, Subscan Multisig UI, Dorafactory-Multisig
Hardware Wallets Ledger Polkadot, Ledger Kusama, NGRAVE Trezor
Block Explorers Polkascan, Polkastats, Subscan, Statescan, Edgscan Ink Smart Contract Explorer, Mempool focused explorer (including parachain transaction)
Validator Dashboards Polkacube, YieldScan, Hubble
Node Explorers Polkadot Node Explorer
NFT Explorer NFT Explorer for Kusama & Polkadot
Governance Dashboards Polkassembly, dotreasury, Bright Treasury, OpenSquare offchain voting UI for the kusama and/or polkadot treasury (see bounty module), UI for Parachain Lease Offering (PLO)
Staking Rewards Staking Rewards Collector, Staking Rewards Viewer, Polkadot Staking Site
Bridge UI Parity Bridges UI, Donut Interface (Steem <> Dot)
Parachain/Crowdloan Parachains.Network, PolkAuction
Other PolkadotWebIdenticon, Polkadot Angular IdentIcon, KappaSigmaMu Fratority, Quadratic Funding Webapp, Polkawatch, Bytepay Portfolio Viewer like Zapper or Zerion

🔧 Tools, APIs and Languages

Components Existing projects Potentially interesting projects
Parachain Parachain utilities, Gantree Tools to create parachains from frameworks used in other ecosystems
Client Libraries Go, .Net, .NET Standard 2.0, C++, C, Haskell, Javascript, Substrate API Sidecar - TypeScript, Ruby, Python, Java, Java (+ Android), Substrate Client Java, Rust SCS, Rust Parity, PHP (gmajor-encrypt), PHP (neha0921), RPC-Ethereum, Swift
Substrate Contract clients PatractGo
SCALE Codec Rust, Python, Golang Chainsafe, Golang Itering, C, C++, JavaScript, AssemblyScript, Haskell, Java, Ruby, Dart, Swift, PHP, JavaScript by Soramitsu
Easy Runtime Development VS Code Plugin, Atom Code Plugin, Substrate Playground, Substrate Marketplace VS Code Plugin, AssemblyScript Runtime Generation, Substrate Package Manager, Subsembly: Framework for developing AssemblyScript Substrate Runtimes, dependency diener
Easy Smart Contract Development ink-playground, Ink! Remix Plugin
Runtime Security K specifications, PolPatrol - Polkadot Runtime Checker Automated Runtime checking tools, economic audit simulator such as gauntlet.network
Smart Contract Languages Ask!, Subscript, Solang, Ink!, Pact, Move VM Substrate, Move smart contract by Neatcoin Functional Programming Languages, other languages with developed toolchains
Smart Contract Security
Testing Halva, Ink Waterfall, Redspot, MixBytes Tank, sub-flood, Substrate debug-kit, Dotscale - SCALE Codec Comparator, Asset CLI tool, sub_crash, subwasm, subsee, polkadot-lab, Zombienet, RPC-perf
Testnet Polkadot Launch, polkadot-starship, Fork off Substrate, Parachain Launch
Benchmarking Substrate Graph Benchmarks
Blockchain Indexing Engine Substrate Archive, PSQL Indexer, Polkadothub Indexer, Substrate Graph, Hydra, Subquery, Polkadot Profit Transformer
Blockchain/Event Monitoring Web3 Guardian, Aurras Event Manager, @commonwealth/chain-events
Gaming Mobile Game Framework for Substrate Amethyst + Substrate
No-code Platforms EzCode's Polkadot.js plugin on Bubble.io, Blackprint Visual Programming Polkadot.js module
XCM XCM-tools
Other open-web3 JS library, VM-Bridge, srtool, Substrate Tip Bot, ORI (Onchain Risk Intelligence), PolkaTools, polkadot-scripts, Static analyzer for Substrate FRAME's pallets

📝 ink Smart Contracts

Components Existing projects Potentially interesting projects
DeFi Vera, Nsure Insurance, Everlasting Cash, Coinversation, zenlink-dex-contract, AlgoCash New seigniorage-style stable coins
Gaming NewOmega
DAO subDAO, RainbowDAO
Other Candle Auctions, polkasign-contract

🔗 Chains and Pallets

Components Existing projects Potentially interesting projects
Scalable Transactions Perun channels, CLI demo of Perun, Astar, Celer, Gunclear roll-ups, DAG-based consensus mechanisms, side chains
Bridges interBTC, Ethereum by Centrifuge, EOS by Bifrost, POA <> Substrate, Substrate <> Ethereum DAI Bridge, Substrate <> Substrate Bridge, BTC by ChainX, Cosmos-Substrate bridge, Substrate IBC Pallet, Polkadot Ethereum Bridge, Darwinia, Stellar/DeFi Bridge by Pendulum, Filecoindot ZCash
Privacy Webb Anon, ZeroChain, pLibra (Phala Network), Automata Network, zCloak Network Multi-Asset Shielded Pool (MASP), Zkay, Zexe
ZKP ZeroPool, Megaclite, zkMega, PLONK for Substrate
Off-Chain substraTEE
DeFi Compound Gateway, Parallel Finance, PINT, Katal Chain, Laminar Chain, Acala, Centrifuge, Stafi, Bandot, Definex, OAX Foundation, Cybex, Zenlink, Swaps Pallet, Polkadex, SubDEX, HydraDX, Substrate Stablecoin, Standard protocol, Polkaswap, Curve AMM, Konomi Network, Composable Finance, Stable Asset, Libra Payment, Mangata DEX with privacy and confidentiality features such as those found in a dark pool
Smart contract chains moonbeam, Edgeware, EVM Module, ParaState, gear, CENNZnet, SkyeKiwi smart contract chains with novel security approaches, smart contract chains based on existing toolchains
Oracle Laminar, Parallel Finance, Katal Chain, Chainlink-polkadot, Ares Protocol, Kylin Network, interbtc-clients oracle, Anonima, Apollo
Identity/DID Caelum Labs, Litentry, pallet-did, dot-id
IoT Nodle, MXC/DataHighway, peaq-network-node
Verifiable Claims KILT, Dock, Fennel Protocol
Supply chain
Social Networking Social Network, SubSocial, ZeroDAO, Myriad Node, Wika Network Private instant messenger that uses on-chain identity
Governance/DAO Sunshine DAO, Governance OS, Idavoll Network, Substrate Moloch Consul - Open Government and E-Participation Web Software
Prediction Markets and Futarchy Zeitgeist, X Predict Market
Messaging HOPR, Mailchain, Nolik
File Storage, Cloud DatDot, Crust Network, offchain::ipfs, Canyon Network, CESS, CESS Proving Subsystem, Iris, fmd-cess, IPFS Frame V3
Name Service Substrate Names, ENS on Substrate, PNS-Pallets
Gaming Bit.country, SubGame, subzero, Web3Games, Ajuna Network
Computation DeepBrain Chain
Enable specific use-cases Robonomics, UniversalDOT
NFT ternoa, FRAME Pallet: NFTs for Substrate, NFT Parachain by usetech, DNFT, RMRK-Substrate
Randomness DKG and Randomness Beacon
Licensing Anagolay Network
Banking Integration FIAT on-off-ramp
Crowdfunding Imbue Network, Quadratic Funding pallet by Dora, Quadratic Funding pallet by OAK Minimum Anti-Collusion Infrastructure (MACI)
Other Substrate Open Runtime Module Library, AI Infrastructure on Blockchain, Substrate Account Filter, Subtensor, BitGreen, AdMeta, Chocolate Node, Virto Network, Substrate Validator Set, DEIP, DeBio, MathChain, encointer Decentralized review/reputation system

⚫ Host

Components Existing projects Potentially interesting projects
Rust Substrate, Cumulus
C++ Kagome
Go Gossamer
AssemblyScript
Light Client Substrate Connect

🔌 Network Maintenance Tools

Components Existing projects Potentially interesting projects
Secure validator setup Polkadot Validation Node Ansible Setup, Trutzone-based HSM, W3F Polkadot Validator Setup
High availability setup Archipel, Polkadot Failover Mechanism, Open Node Framework
Load Balanced Endpoints terragrunt-polkadot
Deployment Tools Polkadot Package Manager, PolkaHub, Avado, Polkadot Deployer
Validator monitoring 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

✒️ 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
Distributed key generation (DKG) keygen.rs
Validator HSMs
Validator HSM-like solutions

✔️ Consensus

Components Existing projects Potentially interesting projects
PoC Spartan
PoW PoW consensus for Substrate, RandomX, Sha3 PoW
Block production BABE, Aura
Finality GRANDPA
Other Nimbus: Upgradeable consensus framework

📡 Networking

Components Existing projects Potentially interesting projects
DHT crawler Go, Kotlin
RPC Tor-like access WhiteNoise

👷 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.