Awesome Substrate
An awesome list is a list of awesome things curated by the 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.
Resources
-
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.
- Developer Hub GitHub - Developer Hub repositories.
- Ecosystem Projects - Projects and teams building with Substrate.
-
Technical Papers
- DotJobs - A job board for the Substrate and Polkadot ecosystem projects, maintained by Stateless.Money.
- Polkadot Stack - An
awesome list
maintained by our friends at Web3 Foundation.
Support
- Stack Overflow - Tagged with "Substrate" is best for all technical questions.
subport
- Support repository to discuss use.- Builders Program - White-glove solutions and dedicated support team for visionary teams using Substrate.
- Web3 Foundation Grants - Funding for ecosystem development.
Social
- Technical Chat - Ask questions & chat with other Substrate developers.
- Twitter - Follow us to stay up-to-date.
- Reddit - Official subreddit.
Events
- Sub0 Developer Conference - Semiannual, online and in-person for all things Substrate.
- Substrate Seminar - Bi-weekly collaborative learning sessions.
Blogs
Videos
- New 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
- Polkadot Network Technical Explainers
Templates
- Base - Minimal FRAME-based node, ready for hacking.
- Parachain - Cumulus enabled Substrate node, ready for hacking.
- 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.
substrate-stencil
- A template for a Substrate node that includes staking and governance capabilities.
FRAME Pallets
- Included in Substrate - Officially supported.
- 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.
- Commodities - Defines and implements a non-fungible token interface.
- Chainlink Feed Pallet - Chainlink feed pallet and example node showing how to integrate to Substrate chains.
Framework Extensions
- FRAME - A system for building Substrate runtimes.
- ink! - Rust smart contract language for Substrate chains.
- Cumulus - A set of tools for writing Substrate-based Polkadot parachains.
- Bridges - A collection of tools for cross-chain communication.
- Frontier - End-to-end Ethereum emulation for Substrate chains.
- Polkadot-JS - Rich JavaScript API framework for front-end development.
- IntegriTEE - Trusted off-chain execution framework that uses Intel SGX trusted execution environments.
Client Libraries
subxt
- Official Rust client.- Substrate API Client - Rust client maintained by Supercomputing Systems AG.
- Polkadot-JS API - Semi-official JavaScript library for Substrate-based chains.
- Python Substrate Interface - Maintained by Polkascan Foundation.
- Go Substrate RPC Client - Maintained by Centrifuge.
- Substrate C++ API - Maintained by Usetech.
- Substrate .Net API - Maintained by Usetech.
- Substrate .NET Standard API - Used in nuget, and Unity 3D integration example - Maintained by DOTMog.
- Kotlin Substrate Client - Maintained by Nodle.io
sube
- Lightweight Rust client library and CLI with support for type information.- Subscan Go Utilities - SS58 and more, developed by Subscan.
Mobile
- React-Native-Substrate-Sign - Rust library for React Native.
- Polkadot-Dart - Dart Substrate API.
- PolkaWallet SDK - Flutter SDK for Substrate-based App.
- Fearless Utils iOS - iOS Substrate tools.
- Fearless Utils Android - Android Substrate tools.
Tools
- 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.
- 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.
- Sidecar - REST service that runs alongside Substrate nodes.
- Archive - Indexing engine for Substrate chains.
- TxWrapper - Helpful library for offline transaction creation.
- Substate - 100% no-std/wasm compatible Substrate storage key generator library for Rust.
- Subkey - Command line utility for working with cryptographic keys.
- Polkascan - Multi-chain block explorer maintained by Polkascan Foundation.
- VSCode Substrate - Plugin for Visual Studio Code.
- Parity Signer - Upcycle an unused mobile phone into an air-gapped hardware wallet.
- Fork Off Substrate - Script to help bootstrap a new chain with the state of a running chain.
- Substrate debug-kit - A collection of tools
and libraries for debugging Substrate-based chains, including
offline-election
, which is a tool that is used to predict nominated proof-of-stake elections. sup
- Command line tool for generating or upgrading a Substrate node.- Substrate Dev Hub Utils - Unofficial utilities for working with official Substrate Developer Hub resources.
- Subscan - Multi-network explorer for 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.
- Halva - A toolchain for improving the experience of developing on Substrate.
offchain::ipfs
- Substrate infused with IPFS.- Gantree Library - A suite of technologies for managing Substrate-powered parachain networks via rapid spin-up & tear-down.
- Redspot - A Truffle-like toolkit for smart contracts for the FRAME Contracts pallet.
- Proxy Hot Wallet Demo - A demonstration of a secure, convenient, and flexible hot wallet architecture built on Substrate primitives.
- Substrate Faucet Bot - Python-based faucet for development purposes.
- Hydra - A GraphQL framework for Substrate nodes.
- Substrate Graph - GraphQL indexer for Substrate-based chains.
- SubQuery - A GraphQL indexer and query service that allows users to easily create indexed data sources and host them online for free.
- Megaclite - Zero-knowledge tools for the Polkadot ecosystem.
- Europa - A sandbox for the Substrate runtime execution environment.
- Jupiter - Testnet for smart contracts written for the FRAME Contracts pallet.
- 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.
polkadot-launch
- Simple CLI tool to launch a local Polkadot test network.polkadot-starship
- Another tool to launch a local Polkadot test network, with emphasis on the ability to run big testnets.substrate-js-utils
- A set of useful JavaScript utilities for Substrate that uses the Polkadot{JS} API. Also deployed as a website.substrate-graph-benchmarks
- Graph the benchmark output of FRAME pallets.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.polkadot-js-bundle
- A standalone JS bundle that contains Polkadot{JS} libraries.substrate-society
- A basic front-end for the FRAME Society pallet.- Aleph.im - Scalable, decentralized database, file storage, and computation services for Substrate chains and more.
subsee
- CLI to inspect metadata of a Substrate node as JSON.polkadot-runtime-prom-exporter
- A Prometheus exporter for Polkadot runtime metrics (modifiable for Substrate use).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.srtool
- Docker image to deterministically build a runtime.srtool-cli
- CLI frontend for thesrtool
Docker image.srtool-actions
- GitHub actions to easily use thesrtool
Docker image to build your own runtime.- SS58 Transform - Display key's addressees with all SS58 prefixes.
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
- Codec Definition - Official codec documentation.
- Parity SCALE Codec - Reference implementation written in Rust.
- AssemblyScript - Maintained by LimeChain.
- TypeScript - Maintained by Polkadot-JS.
- Go - Maintained by Itering.
- C - Maintained by Matthew Darnell.
- C++ - Maintained by Soramitsu.
- Haskell - Maintained by Robonomics Network.
- Java - Maintained by Emerald.
- Ruby - Maintained by Itering.
- Python - Maintained by Polkascan Foundation.
- Scales - Serializing SCALE using type information from a type registry.