Skip to content
This repository has been archived by the owner on May 6, 2023. It is now read-only.

Latest commit

 

History

History
150 lines (120 loc) · 11.1 KB

polkadot_stack.md

File metadata and controls

150 lines (120 loc) · 11.1 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.


📋 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
Browser Extensions Polkadot{.js}, Enzyme, Speckle OS
Mobile Wallets Lunie, Polkawallet, Parity Signer
Web (burner) Wallets
Multisignature Wallets
Hardware Wallets Ledger, NGRAVE
Block Explorers Polkascan, Polkastats
Validator Dashboards DotHub, Polkacube
Node Explorers
Governance Dashboards

🔧 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 RPC clients Go, .Net, C++, Haskell, Javascript, Ruby, Python, Java, Rust Web3 Compatible API for Substate EVM Chains
Easy Runtime Development VS Plugin, Atom Code Plugin, Substrate Playground AssemblyScript Runtime Generation
Easy Smart Contract Development ink-playground, Ink! Remix Plugin
Runtime Security K specifications
Smart Contract Languages Solang, Ink!, Pact AssemblyScript, Functional Programming Languages, other languages with developed toolchains
Smart Contract Security
Easy integration testing
Performance Testing

🔗 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 ZCash, Ethereum, Tendermint
Privacy ZeroChain, pLibra
Off-Chain substraTEE
Financial Chains Katal Chain, Laminar Chain, Acala, Centrifuge, Stafi, Bandot,
Smart contract chains Edgeware, EVM Module sharded smart contract chains, smart contract chains with novel security approaches, smart contract chains based on exisiting toolchains
Access to real world data Oracle by Laminar, Oracle by Katal Chain
Identity Caelum Labs, Litentry
IoT Nodle
Verifiable Claims KILT, Dock
Supply chain Wiv
Social Networking SubSocial
Messaging HOPR, Mailchain
File Storage DatDot
Name Service Substrate Names
Computation
Enable specific use-cases Robonomics
Secret store
Universal Naming Service
Licensing

⚫ Host

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

🔌 Network Maintenance Tools

Components Existing projects Potentially interesting projects
Secure validator setup Trutzone-based HSM
High availability setup Archipel
Deployment Tools Polkadot Package Manager, PolkaHub, Avado
Validator monitoring P.A.N.I.C., Polkalert, B-Harvest

✒️ Signatures

Components Existing projects Potentially interesting projects
SR25519 C, C#
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.