Skip to content

Latest commit

 

History

History
157 lines (126 loc) · 14.3 KB

polkadot_stack.md

File metadata and controls

157 lines (126 loc) · 14.3 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
Web (burner) Wallets KodaDot
CLI Wallet Subwallet
Multisignature Wallets
Hardware Wallets Ledger, NGRAVE Trezor
Block Explorers Polkascan, Polkastats, Subscan, PSQL Indexer Mempool focused explorer (including parachain transaction)
Validator Dashboards DotHub, Polkacube, YieldScan
Node Explorers Polkadot Node Explorer
Governance Dashboards Polkassembly UI for the kusama and/or polkadot treasury (see bounty module)

🔧 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
SCALE Codec Rust, Python, Golang Chainsafe, Golang Itering, C++, JavaScript, AssemblyScript, Haskell, Java, Ruby
Easy Runtime Development VS Code Plugin, Atom Code Plugin, Substrate Playground, Substrate Marketplace VS Code Plugin, 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
Testing Halva, MixBytes Tank

🔗 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
Financial Chains Katal Chain, Laminar Chain, Acala, Centrifuge, Stafi, Bandot, Definex
DEXs OAX Foundation, Cybex DEX with privacy and confidentiality features such as those found in a dark pool
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, MXC/DataHighway
Verifiable Claims KILT, Dock
Supply chain Wiv
Social Networking SubSocial
Public Voting System Consul - Open Government and E-Participation Web Software
Messaging HOPR, Mailchain
File Storage, Cloud DatDot, Crust Network
Name Service Substrate Names
Gaming Amethyst + Substrate
Computation
Enable specific use-cases Robonomics
NFT NFT Parachain by usetech
Licensing

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

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