Skip to content

Latest commit

 

History

History
162 lines (131 loc) · 16.9 KB

polkadot_stack.md

File metadata and controls

162 lines (131 loc) · 16.9 KB

Open Source Polkadot Stack [WIP!]

The goal of this page is to provide an overview of the open-source Polkadot/Kusama Tech Stack. At the moment it's a work-in-progress.

This is a living document and we are relying on our community to contribute to this 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 many possible 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 General Grants Program and Open Grants Program are 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 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 then we would need to be persuaded that this proposal brought unique value to the ecosystem. Such value could be 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 then 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.

📱 Explorer and Wallets

Components Existing projects Potentially interesting projects
Desktop Wallets AirGap, Sakura
Browser Extensions Polkadot{.js}, Enzyme, Speckle OS
Mobile Wallets Lunie, Polkawallet, Parity Signer, imToken, Fearless Wallet Android, Fearless Wallet iOS
Web (burner) Wallets KodaDot
CLI Wallet Subwallet
Multisignature Wallets Subscan Multisig UI
Hardware Wallets Ledger, NGRAVE Trezor
Block Explorers Polkascan, Polkastats, Subscan, PSQL Indexer, Polkadothub Indexer Mempool focused explorer (including parachain transaction)
Validator Dashboards Polkacube, YieldScan, Hubble
Node Explorers Polkadot Node Explorer
Governance Dashboards Polkassembly UI for the kusama and/or polkadot treasury (see bounty module), UI for Parachain Lease Offering (PLO)

🔧 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
Polkadot API clients Go, .Net, C++, C, Haskell, Javascript, Substrate API Sidecar - TypeScript, Ruby, Python, Java(old), Java(new), Rust SCS, Rust Parity, RPC-Ethereum
Substrate Contract clients PatractGo
SCALE Codec Rust, Python, Golang Chainsafe, Golang Itering, C++, JavaScript, AssemblyScript, Haskell, Java, Ruby, Dart, Swift
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
Smart Contract Languages Ask!, Subscript, Solang, Ink!, Pact Functional Programming Languages, other languages with developed toolchains
Smart Contract Security
Testing Halva, Redspot, MixBytes Tank, sub-flood
Query Node Framework Hydra
Blockchain/Event Monitoring Web3 Guardian
Gaming Mobile Game Framework for Substrate
Other open-web3 JS library

🔗 Chains and Modules

Components Existing projects Potentially interesting projects
Scalable Transactions Plasm, Celer, Gunclear roll-ups, DAG-based consensus mechanisms, side chains
Bridges Ethereum by Centrifuge, EOS by Bifrost, POA <> Substrate, Substrate <> Ethereum DAI Bridge, Substrate <> Substrate Bridge, BTC by ChainX, Cosmos-Substrate bridge, Polkadot Ethereum Bridge ZCash
Privacy ZeroChain, pLibra (Phala Network)
Off-Chain substraTEE
DeFi Katal Chain, Laminar Chain, Acala, Centrifuge, Stafi, Bandot, Definex, OAX Foundation, Cybex, Zenlink, Swaps Pallet, Polkadex, SubDEX, HydraDX DEX with privacy and confidentiality features such as those found in a dark pool
Smart contract chains moonbeam, Edgeware, EVM Module sharded smart contract chains, smart contract chains with novel security approaches, smart contract chains based on exisiting toolchains
Oracle Laminar, Katal Chain, Chainlink-polkadot, Ares Protocol
Identity/DID Caelum Labs, Litentry, pallet-did
IoT Nodle, MXC/DataHighway
Verifiable Claims KILT, Dock
Supply chain Wiv
Social Networking Social Network, SubSocial
Governance/DAO Sunshine DAO, Governance OS Consul - Open Government and E-Participation Web Software
Messaging HOPR, Mailchain
File Storage, Cloud DatDot, Crust Network, offchain::ipfs
Name Service Substrate Names
Gaming Amethyst + Substrate
Computation
Enable specific use-cases Robonomics
NFT FRAME Pallet: NFTs for Substrate, NFT Parachain by usetech
Licensing
Other Substrate Open Runtime Module Library On-chain quadratic funding (e.g. https://clr.fund/#/about)

⚫ 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
High availability setup Archipel, Polkadot Failover Mechanism
Load Balanced Endpoints terragrunt-polkadot
Deployment Tools Polkadot Package Manager, PolkaHub, Avado, Polkadot Deployer
Validator monitoring P.A.N.I.C., Polkalert, B-Harvest
Validator payout management Substrate validator auto payout, Polkadot Payouts

✒️ Signatures

Components Existing projects Potentially interesting projects
SR25519 rust (contains partial bindings for C, JavaScript, and Python), C (old), C (new), C/C++, C#, Go, java
Easy multisig scheme
Validator HSMs
Validator HSM-like solutions

📡 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 file issues. If you do not have a GitHub account, you may sign up for one for free.