Skip to content

Latest commit

 

History

History
189 lines (151 loc) · 22.8 KB

polkadot_stack.md

File metadata and controls

189 lines (151 loc) · 22.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. Please use the preceding links to apply for funding for relevant projects.

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 exisiting 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 exisiting projects then 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 Wallets AirGap, Sakura User-friendly Wallet based on the Recovery Pallet, Web wallets focused on user-onboarding (e.g. using localStorage)
Browser Extensions Polkadot{.js}, Doter, Enzyme, Speckle OS
Mobile Wallets Lunie, Polkawallet, Parity Signer, imToken, Fearless Wallet Android, Fearless Wallet iOS, Stylo
Burner Wallets/Faucet KodaDot Faucet (a sybil-resistant way to receive free tokens)
CLI Wallet Subwallet, Proxy-hot-wallet
Multisignature Wallets Subscan Multisig UI
Hardware Wallets Ledger Polkadot, Ledger Kusama, NGRAVE Trezor
Block Explorers Polkascan, Polkastats, Subscan Mempool focused explorer (including parachain transaction)
Validator Dashboards Polkacube, YieldScan, Hubble
Node Explorers Polkadot Node Explorer
Governance Dashboards Polkassembly, dotreasury, Bright Treasury 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

🔧 Tools, APIs and Languages

Components Existing projects Potentially interesting projects
Parachain Dev Kits Gantree Minimal Parachain Dev Kit, 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(old), Java(new), Rust SCS, Rust Parity, PHP, RPC-Ethereum, Swift
Substrate Contract clients PatractGo
SCALE Codec Rust, Python, Golang Chainsafe, Golang Itering, C++, JavaScript, AssemblyScript, Haskell, Java, Ruby, Dart, Swift, PHP
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
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, Functional Programming Languages, other languages with developed toolchains
Smart Contract Security
Testing Halva, Ink Waterfall, Redspot, MixBytes Tank, sub-flood, Substrate debug-kit, Polkadot Launch, Dotscale - SCALE Codec Comparator
Blockchain Indexing Engine Substrate Archive, PSQL Indexer, Polkadothub Indexer, Substrate Graph, Hydra, Subquery
Blockchain/Event Monitoring Web3 Guardian, Aurras Event Manager
Gaming Mobile Game Framework for Substrate Amethyst + Substrate
Other open-web3 JS library, VM-Bridge

📝 ink Smart Contracts

Components Existing projects Potentially interesting projects
DeFi Vera, Nsure Insurance, Everlasting Cash, Coinversation, zenlink-dex-contract
Gaming NewOmega

🔗 Chains and Pallets

Components Existing projects Potentially interesting projects
Scalable Transactions Plasm, 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 ZCash
Privacy ZeroChain, pLibra (Phala Network), Automata Network
ZKP ZeroPool, Megaclite, zkMega
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 DEX with privacy and confidentiality features such as those found in a dark pool
Smart contract chains moonbeam, Edgeware, EVM Module, ParaState sharded smart contract chains, smart contract chains with novel security approaches, smart contract chains based on exisiting toolchains
Oracle Laminar, Parallel Finance, Katal Chain, Chainlink-polkadot, Ares Protocol, Kylin Network, interbtc-clients oracle
Identity/DID Caelum Labs, Litentry, pallet-did, dot-id
IoT Nodle, MXC/DataHighway
Verifiable Claims KILT, Dock
Supply chain
Social Networking Social Network, SubSocial
Governance/DAO Sunshine DAO, Governance OS, Idavoll Network Consul - Open Government and E-Participation Web Software
Prediction Markets and Futarchy Zeitgeist, X Predict Market
Messaging HOPR, Mailchain
File Storage, Cloud DatDot, Crust Network, offchain::ipfs, Canyon Network
Name Service Substrate Names, ENS on Substrate
Gaming Bit.country, SubGame
Computation
Enable specific use-cases Robonomics
NFT FRAME Pallet: NFTs for Substrate, NFT Parachain by usetech, DNFT
Randomness DKG and Randomness Beacon
Licensing
Other Substrate Open Runtime Module Library, AI Infrastructure on Blockchain, Substrate Account Filter On-chain quadratic funding (e.g. https://clr.fund/#/about), Decentralized review/reputation system

⚫ Host

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

🔌 Network Maintenance Tools

Components Existing projects Potentially interesting projects
Secure validator 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
Validator payout management Substrate validator auto payout, Polkadot Payouts, staking-payouts CLI, Payctl

✒️ 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
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

📡 Networking

Components Existing projects Potentially interesting projects
DHT crawler Go, Kotlin

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