An awesome list is a list of awesome things curated by the Substrate community.
Substrate is a framework for building upgradable, modular and efficient blockchains. Substrate is an open-source library of Rust code that is maintained by Parity Technologies. Source code available on GitHub.
Contents
- Resources
- Support
- Social
- Events
- Blogs
- Videos
- Templates
- FRAME Pallets
- Framework Extensions
- Client Libraries
- Mobile
- Tools
- Products and Services
- Alternative Implementations
- SCALE Codec
Resources
- DotJobs - A job board for the Substrate and Polkadot ecosystem projects, maintained by Stateless.Money.
- Developer Hub GitHub - Substrate Developer Hub repositories.
- Ecosystem Projects - Projects and teams building with Substrate.
- Polkadot Stack - An
awesome list
maintained by our friends at Web3 Foundation. - Official Homepage - Vision, ecosystem, opportunities, and much more.
- Docs - Developer documentation.
- Tutorials - Guided exercises to get you started.
- How-to guides - Workflows outlined to achieve a specific goal.
- Reference Docs - Versioned API documentation.
- Technical Papers
Support
- Builders Program - White-glove solutions and dedicated support team for visionary teams using Substrate.
- Stack Exchange - The best place for all technical questions.
- Web3 Foundation Grants - Funding for ecosystem development.
- Polkadot Treasury - The Treasury funds are allocated through the voting on spending proposal.
Social
- Substrate Devs Chat (Telegram) - Chat with other Substrate developers, also bridged to matrix.
- Twitter - Follow us to stay up-to-date.
Events
- Sub0 Developer Conference - Semiannual, online and in-person for all things Substrate.
- Substrate Seminar - Bi-weekly collaborative learning sessions.
Blogs
Videos
- Parity YouTube
- Polkadot Network Technical Explainers
- Seminar Crowdcast - Upcoming events and latest recordings.
- Old Seminar Crowdcast - Archive only.
- Substrate: A Rustic Vision for Polkadot by Gavin Wood at Web3 Summit 2018
Templates
- Base - Minimal FRAME-based node, derived from upstream.
- Frontier - Fronter enabled EVM and Ethereum RPC compatible Substrate node, ready for hacking.
- Front-End - Polkadot-JS API and React app to build front-ends for Substrate-based chains.
- Parachain - Cumulus enabled Substrate node, derived from upstream.
substrate-stencil
- A template for a Substrate node that includes staking and governance capabilities.
FRAME Pallets
- Chainlink Feed Pallet - Chainlink feed token interface.
- Official in Substrate - Large collection, Parity maintained.
- Open Runtime Module Library (ORML) - Community maintained collection of Substrate runtime modules.
- Sunshine Bounty - Distributed autonomous organization (DAO) for administering a bounty program.
- Sunshine Identity - Keybase-inspired identity management.
- Sunshine Faucet - Dispense resources for a development chain.
- RMRK Pallets - Nested, conditional & Multi-resourced NFTs.
Framework Extensions
- Bridges - A collection of tools for cross-chain communication.
- Cumulus - A set of tools for writing Substrate-based Polkadot parachains.
- FRAME - A system for building Substrate runtimes.
- Frontier - End-to-end Ethereum emulation for Substrate chains.
- ink! - Rust smart contract language for Substrate chains.
- IntegriTEE - Trusted off-chain execution framework that uses Intel SGX trusted execution environments.
- Polkadot-JS - Rich JavaScript API framework for front-end development.
Client Libraries
- .Net API - Maintained by Usetech.
- .NET Substrate API - Used in nuget, and Unity Example; Maintained by Ajuna Network.
- .NET Toolchain/SDK - Toolchain for Substrate .NET. Pre-generated SubstrateNET; Maintained by Ajuna Network.
go-substrate-gen
- Generate Go (de)serialization/client code from Substrate metadata.sube
- Lightweight Rust client library and CLI with support for type information.subxt
- Official Rust client.- C++ API - Maintained by Usetech.
- Go RPC Client - Maintained by Centrifuge.
- Kotlin Client - Maintained by Nodle.io.
- Polkadot-JS API - Semi-official JavaScript library for Substrate-based chains.
- Python Interface - Maintained by Polkascan Foundation.
- Rust API Client - Rust client maintained by Supercomputing Systems AG.
- Subscan Go Utilities - SS58 and more, developed by Subscan.
Mobile
- Fearless Utils Android - Android Substrate tools.
- Fearless Utils iOS - iOS Substrate tools.
- Nova Substrate SDK Android - Substrate SDK and tools for Android.
- Nova Substrate SDK iOS - Substrate SDK and tools for iOS.
- Polkadot-Dart - Dart Substrate API.
- PolkaWallet SDK - Flutter SDK for Substrate-based App.
- React-Native-Substrate-Sign - Rust library for React Native.
Tools
offline-election
- Tool to predict nominated proof-of-stake elections.offchain::ipfs
- Substrate infused with IPFS.polkadot-js-bundle
- A standalone JS bundle that contains Polkadot{JS} libraries.polkadot-launch
- Simple CLI tool to launch a local Polkadot test network.polkadot-runtime-prom-exporter
- A Prometheus exporter for Polkadot runtime metrics (modifiable for Substrate use).polkadot-scripts
- A collection of scripts Parity uses to diagnose Polkadot/Kusama.polkadot-starship
- Another tool to launch a local Polkadot test network, with emphasis on the ability to run big testnets.srtool-actions
- GitHub actions to easily use thesrtool
Docker image to build your own runtime.srtool-cli
- CLI frontend for thesrtool
Docker image.srtool
- Docker image to deterministically build a runtime.subsee
- CLI to inspect metadata of a Substrate node as JSON.subalfred
- An all-in-one Substrate development toolbox.substrate-balance-calculator
- Breakdown the balances of your Substrate account.substrate-balance-graph
- Create a graph of the token balance over time of a Substrate address.substrate-graph-benchmarks
- Graph the benchmark output of FRAME pallets.substrate-js-utils
- A set of useful JavaScript utilities for Substrate that uses the Polkadot{JS} API; Also deployed as a website.substrate-society
- A basic front-end for the FRAME Society pallet.substrate-toml-lint
- A toml parser and checker to avoid common errors in Substrate projects.subwasm
- CLI to inspect a runtime WASM blob offline. It shows information, metadata and can compare runtimes. It can also help you fetch a runtime directly from a node.sup
- Command line tool for generating or upgrading a Substrate node.scale-value
- Analogous toserde_json
but for SCALE; Library to decode arbitrary SCALE encoded bytes into a dynamicValue
given type info fromscale-info
.scale-decode
- Decode SCALE bytes into arbitrary custom types by implementing a visitor trait.- Aleph.im - Scalable, decentralized database, file storage, and computation services for Substrate chains and more.
- Archive - Indexing engine for Substrate chains.
- Dev Hub Utils - Unofficial utilities for working with official Substrate Developer Hub resources.
- Europa - A sandbox for the Substrate runtime execution environment.
- Fork Off Substrate - Script to help bootstrap a new chain with the state of a running chain.
- fudge - Core lib for accessing and (arbitrarily) manipulating substrate databases, including the building and importing of local blocks.
- Gantree Library - A suite of technologies for managing Substrate-powered parachain networks via rapid spin-up & tear-down.
- Halva - A toolchain for improving the experience of developing on Substrate.
- Hydra - A GraphQL framework for Substrate nodes.
- Jupiter - Testnet for smart contracts written for the FRAME Contracts pallet and ink!.
- Megaclite - Zero-knowledge tools for the Polkadot ecosystem.
- Metadata Portal - A self-hosted webpage that shows the latest metadata and chain specs for any given network.
- Nova Polkadot Utils - Contains static info & metadata to support client apps in Polkadot ecosystem to map it to various netowrks.
- Parity Signer - Upcycle an unused mobile phone into an air-gapped hardware wallet.
- Polkadot PANIC - Monitoring and alerting solution for Polkadot nodes by Simply VC, compatible with many Substrate chains.
- Polkadot Tool Index - List of tools available for your development with Polkadot and any Substrate chain including Block Explorers, Wallets, Network Monitoring & Reporting, Clients, Benchmarking, Fuzzing, Forking, SCALE Codec, CLI Tools and much more.
- Polkadot-JS Apps UI - Semi-official block explorer & front-end for Substrate-based chains.
- Polkadot-JS Extension - Browser extension for interacting with Substrate-based chains.
- Polkascan - Multi-chain block explorer maintained by Polkascan Foundation.
- Proxy Hot Wallet Demo - A demonstration of a secure, convenient, and flexible hot wallet architecture built on Substrate primitives.
- Redspot - A Truffle-like toolkit for smart contracts for the FRAME Contracts pallet and ink!.
- Sidecar - REST service that runs alongside Substrate nodes.
- SS58 Transform - Display key's addressees with all SS58 prefixes.
- Staking Rewards Collector - A script to parse and output staking rewards for a given Kusama or Polkadot address and cross-reference them with daily price data.
- Subkey - Command line utility for working with cryptographic keys.
- SubQuery - A GraphQL indexer and query service that allows users to easily create indexed data sources and host them online for free.
- Nova SubQuery API - A SubQuery API implementation for operation history and staking analytics.
- Subscan - Multi-network explorer for Substrate-based chains.
- Subsquid - An indexing framework (SDK + infrastructure) to quickly and easily turn Substrate and EVM on-chain data into APIs and host them.
- Substate - 100% no-std/wasm compatible Substrate storage key generator library for Rust.
- Substrate debug-kit - A collection of tools and libraries for debugging Substrate-based chains.
- Substrate Docker Builders - A set of Dockerfiles and GitHub Actions to auto-build and push a Docker image for Substrate-based chains.
- Substrate Faucet Bot - Python-based faucet for development purposes.
- Substrate Graph - GraphQL indexer for Substrate-based chains.
- Typechain-Polkadot - Hepls users to generate typescript types from contract ABIs (ink!) and generate runtime code to interact with contracts and deploy them.
- TxWrapper - Helpful library for offline transaction creation.
- VSCode Substrate - Plugin for Visual Studio Code.
- Polkaholic.io - Multi-chain block explorer with API and DeFi support across 40+ parachains.
Products and Services
- OnFinality - Free and paid services to shared Substrate based nodes.
Alternative Implementations
- Gossamer - A Polkadot client implemented in Go; from ChainSafe.
- Kagome - A C++17 implementation of the Polkadot client; from Soramitsu.
- LimeChain AssemblyScript Runtime - An account-based Substrate proof-of-concept runtime written in AssemblyScript; from LimeChain.
SCALE Codec
- AssemblyScript - Maintained by LimeChain.
- C - Maintained by Matthew Darnell.
- C++ - Maintained by Soramitsu.
- Codec Definition - Official codec documentation.
- Go - Maintained by Itering.
- Haskell - Maintained by Robonomics Network.
- Java - Maintained by Emerald.
- Parity SCALE Codec - Reference implementation written in Rust.
- Python - Maintained by Polkascan Foundation.
- Ruby - Maintained by Itering.
- Scales - Serializing SCALE using type information from a type registry.
- JavaScript / TypeScript implementations:
- paritytech/parity-scale-codec-ts - Maintained by Parity Technologies.
- polkadot-js/api - Maintained by Polkadot-JS.
- scale-ts - Maintained by Josep M Sobrepere.
- soramitsu/scale-codec-js-library - Maintained by Soramitsu.